打开文件:fopen:fopen(filename,mode);//fopen("test.txt","r”);

打开模式:r  仅仅读方式打开,将文件指针指向文件头
                r+  读写方式打开,将文件指针指向文件头
                w  写入方式,指向文件头,假设不存在则尝试创建
                w+ 读写方式,指向文件头,假设不存在则尝试创建
                a  写入方式打开,指向文件末尾,假设不存在则尝试创建
                a+ 读写方式打开,指向文件末尾,假设不存在则尝试创建 
读取文件:fread:fread();

readfile(filename):读取文件内容,并把它写入输出缓冲
<?php
echo readfile("webdictionary.txt");
?>
fopen(filename,mode):打开文件,创建文件
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
fopen也用于创建文件,假设打开的不存在的文件,此函数会创建文件,嘉定文件被打开为写入(w)或者添加(a)。
模式 描写叙述
r 打开文件为仅仅读。文件指针在文件的开头開始。
w 打开文件为仅仅写。删除文件的内容或创建一个新的文件,假设它不存在。文件指针在文件的开头開始。
a 打开文件为仅仅写。文件里的现有数据会被保留。文件指针在文件结尾開始。创建新的文件,假设文件不存在。
x 创建新文件为仅仅写。返回 FALSE 和错误,假设文件已存在。
r+ 打开文件为读/写、文件指针在文件开头開始。
w+ 打开文件为读/写。删除文件内容或创建新文件,假设它不存在。文件指针在文件开头開始。
a+ 打开文件为读/写。文件里已有的数据会被保留。文件指针在文件结尾開始。创建新文件,假设它不存在。
x+ 创建新文件为读/写。返回 FALSE 和错误,假设文件已存在。
fwrite(资源,内容) //写入文件内容
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);
fclose($myfile);
?>
fread($myfile,filesize("webdictionary.txt"));
fgets():用来读取单行,fgets(file,lenght),lenght可选,规定要读取的字节数。默认是1024字节。

从 file 指向的文件里读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包含在返回值中)、EOF 或者已经读取了length - 1 字节后停止(要看先碰到那一种情况)。假设没有指定 length,则默觉得
1K,或者说 1024 字节。

若失败,则返回 false。

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>
fgetc():读取单个字符

unlink(文件) //删除一个文件
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出单行直到 end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
filesize(filename):filename为文件名称,是字符串类型。本函数的结果会被缓存,清试用clearstatcache()来清除缓存。
filetype();
 

php学习笔记--高级教程--读取文件、创建文件、写入文件的更多相关文章

  1. Android学习笔记之Android Studio下创建menu布局文件

    1.创建menu文件夹 Android Studio项目中如果没有menu文件夹,在res文件夹右键,new-Android resource directory: 则会弹出下图对话框,在Resour ...

  2. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  3. 学习笔记|JSP教程|菜鸟教程

    学习笔记|JSP教程|菜鸟教程 ------------------------------------------------------------------------------------ ...

  4. Android学习笔记——Activity的启动和创建

    http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.html Android Activity学习笔记——Activity的启动和创建 ...

  5. golang学习笔记5 用bee工具创建项目 bee工具简介

    golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ...

  6. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  7. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  8. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

  9. Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件

    写在前面 从大四实习至今已一年有余,作为一个程序员,一直没有用心去记录自己工作中遇到的问题,甚是惭愧,打算从今日起开始养成写博客的习惯.作为一名java开发人员,Spring是永远绕不过的话题,它的设 ...

随机推荐

  1. SPOJ DISUBSTR(后缀数组)

    传送门:DISUBSTR 题意:给定一个字符串,求不相同的子串. 分析:对于每个sa[i]贡献n-a[i]个后缀,然后减去a[i]与a[i-1]的公共前缀height[i],则每个a[i]贡献n-sa ...

  2. Twenty Newsgroups Classification任务之二seq2sparse(5)

    接上篇blog,继续分析.接下来要调用代码如下: // Should document frequency features be processed if (shouldPrune || proce ...

  3. hdu3329(2次dfs)

    传送门:The Flood 题意:当水的高度升为多少的时候,能够将这块区域分为两个部分. 分析:枚举高度,先从外围开始一次dfs,将水能淹没的标记,然后看非标记的是否已分为多块. #include&l ...

  4. FZU2176(二维线段树+dfs)

    传送门:easy problem 题意:给定一棵n个节点以1为根的树,初始每个节点的值为0,现在我们要在树上进行一些操作,操作有两种类型. 1 x val 表示对以x为根的子树的每个点进行加权操作(我 ...

  5. 《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_1_运行最简单的bundlehelloworld

    <深入理解OSGi:Equinox原理.应用与最佳实践>笔记_1_运行最简单的bundlehelloworld 买了周大大的OSGI的书看 先前完全没有基础 就靠这本书看看学学 顺便记一些 ...

  6. Codeforces Round #246 (Div. 2) D. Prefixes and Suffixes(后缀数组orKMP)

    D. Prefixes and Suffixes time limit per test 1 second memory limit per test 256 megabytes input stan ...

  7. NOJ1184 失落的邮票 哈希表

    意甲冠军 我们共收集N邮票.现在失去了2张,剩下N-2张-..原集邮收集了所有对.因此,找到什么两枚邮票是一个.它们输出. (确定缺少邮票是不一样的) 思路 由于编号比較大,能够用hash表压缩成数组 ...

  8. 【Oracle】-【sqlplus / as sysdba登录报错问题】-新用户使用sqlplus / as sysdba登录报错

    刚才打开一个别人的测试库,用root登陆了的,sqlplus / as sysdba竟然报错,奇怪,于是在自己的VM中模拟该过程. 新建了一个test用户: [test@liu bin]# ./sql ...

  9. 核心ASP.NET

    1.用于Web应用程序的.NET Framework ASP.NET是.NET Framework的一部分,它可以在通过HTTP请求文档是在WEB服务器上动态创建它们,在.Net Framework中 ...

  10. quick-cocos2d-x游戏开发【4】——加入文本

    文本的加入在quick中被封装在ui类中,它能够创建EditBox.菜单以及文本,文本总得来说能够创建TTF和BMFont两种. api对于它的说明非常具体.ui.newBMFontLabel(par ...