PHP对文件的操作总结
2012-05-31 23:43
225 查看
1、使用fopen打开文件
$fp = fopen("a.txt", 'w'); //用写方法打开一个文件a.txt
fopen具有2个、3个或4个参数,通常是2个参数,第二个参数是打开文件的模式,以下是fopen打开文件的全部模式:模式 | 模式名称 | 解释 |
r | 只读 | 打开文件,从头开始读 |
r+ | 只读 | 打开文件,从头开始读写 |
w | 只写 | 从头开始读。若文件存在,则删除文件内容;若文件不存在,则创建文件 |
w+ | 只写 | 从头开始读写,若文件存在,则删除所有,否则创建文件 |
x | 谨慎写 | 写模式打开,若文件存在,文件不会被打开,fopen返回false |
x+ | 谨慎写 | 读写模式打开,若文件存在,文件不会被打开fopen返回false |
a | 追加 | 打开文件,若有内容,则在末尾添加内容,文件不存在创建文件 |
a+ | 追加 | 打开文件,若有内容,从末尾开始读写,文件不存在则创建文件 |
b | 二进制 | 推荐模式,用于和其他模式连接 |
t | 文本 | 用于和其他模式结合,不推荐,除非已经用了b选项 |
fopen的第四个参数也可选,用来打开远程文件,比如http://www.51projob.com
fopen返回的只是一个文件指针,要进行操作,还要用其他函数
2、fopen打开远程文件
首先,需要将php.ini中的allow_url_open开启3、fwite用于向文件写入内容
fwite($fp, $outputstring);
另一个替换函数,是file_put_contents(),原型是: int file_put_contents( string filename, string data, [, int flag] [, resource context])
另一个可以替代fopen的函数是file_get_contents,可以讲一个文本文件所有内容放入一个单个字符串中4、fwite()的参数
fwite具有三个参数 int fwite( resource handle, string string [, int length])
第三个参数是写入的最大字符数目,比如,额可以这样写: fwite($fp, $outputstring, strlen($outputstring));
5、fclose($fp)用于关闭文件
如果关闭成功,该函数则返回true值,但一般不用测试6、判断何时读完文件:feof()
如果是按行、按字符读取文件,需要判断是否读完了,可以这样判断 while (!feof($fp)) {}
7、每次读取一行数据fgets(), fgetss(), fgetcsv()
$order = fgets($fp, 999); //一直读取数据,知道遇到了换行,或者EOF,或者999B string fgetss(resource fp, int length, string [allowable_tags]); //和fgets一样,不过这个可以过滤PHP和HTML标记,并且还能指定要过滤的特殊标记,放在allowable_tags变量中就可以 array fgetcsv( resource fp, int length [, string delimiter [, string enclosure]]); //当文件中使用了定界符的时候,可以用这种方法读取,比如 $order = fgetcsv($fp, 10, "\t");//注意,返回的是数组8、读取整个文件readfile()、fpassthru()和file()
int readfile(string filename, [int use_include_path [, resource context]]);第三个参数只有文件远程打开才会用,返回值是文件的字节数目 $fp = fopen("a.txt", 'rb'); fpassthru($fp); //如果成功,返回true,否则返回false $arr = file("a.txt")将文件按行读取存放在$arr数组中 array file( string
file()将整个文件载入到一个数组中,每行成为数组的一个元素 $filename[, int
$flags= 0 [, resource
$context]] )
9、使用fgetc($fp)每次读取一个字符
10、读取任意长度string fread(resource fp, int length);
11、查看文件是否存在file_exists()
12、确定文件大小filesize("a.txt");
13、删除一个文件unlink("a.txt");
14、在文件中定位:rewind()、fseek()和ftell()
rewind()将指针复位到文件的开始 int fseek( resource fp, int offset [, int whence]);//将文件指针从whence位置移动offset个字节,也可以用SEEK_CUR和SEEK_END作为whence15、文件锁定
这是为了实现对文件的互斥访问而设置的函数 bool flock (resource fp, int operation [, int &wouldblock ] );
第二个参数指定文件被锁的类型:LOCK_SH:读操作锁定,文件可以共享,别人可以读 LOCK_EX:写操作锁定,互斥的,文件不能被共享 LOCK_UN:释放已有的锁定 LOCK_NB:防止在请求加锁时阻塞
注意:flock不能用于NTF或者FAT文件系统
相关文章推荐
- PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
- PHP文件操作常用函数总结
- PHP常用的基本文件和目录操作总结
- PHP中对文件的操作总结
- PHP 操作文件的一些FAQ总结
- PHP常用的基本文件和目录操作总结
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- PHP文件操作实例总结
- PHP 操作文件的一些FAQ总结
- PHP常用的基本文件和目录操作总结
- PHP文件操作[总结]
- PHP打开和关闭文件操作函数总结
- 关于PHP操作文件的一些FAQ总结
- PHP打开和关闭文件操作函数总结
- 【转】有趣儿的PHP文件操作常用函数总结
- php关于文件内容的几个操作函数总结
- PHP文件读写操作相关函数总结
- 关于PHP操作文件的一些FAQ总结
- PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
- PHP 文件与目录操作函数总结