首页  >  文章  >  后端开发  >  PHP之文件处理

PHP之文件处理

WBOY
WBOY原创
2016-08-08 09:27:031010浏览

1、打开文件

resource fopen( string filename, string mode [, int use_include_path [, resource zcontext]])

//文件名的路径分隔符用“/”

//mode:文件可能通过下列模式来打开:

模式 描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末端写内容,来保持文件内容。
x 只写。创建新文件。如果文件以存在,则返回 FALSE。

x+

读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。

2、读取文件内容

(1)读取一个字符:fgetc()从文件指针指定的位置读取一个字符。

<span style="color:#000000;">string fgetc( resource handle)</span>
//返回一个字符,遇到EOF则返回FALSE。

(2)读取一行字符:fgets()从文件指针中读取一行数据。文件指针必须是有效的,并且必须指向一个由fopen()或fsockopen()成功打开的文件。

string fgets( int handle [, int length])

//length:要读取的数据长度。

fgets()函数能够从handle指定文件中读取一行并返回长度最大为length-1个字节的字符串。在遇到换行符、EOF或者读取到了length-1个字节后停止,如果忽略length参数,那么将读取到行结束。注释:在调用该函数之后,文件指针会移动到下一行。

fgetss()函数从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记。

(3)读取任意长度的字符串:fread()读取打开的文件。还可以读取二进制文件。

string fread( int handle, int length)

//length指定要读取的字节数。此函数在读取到length个字节或到达EOF时停止执行。

filesize(handle)获取文件数据的长度。

(4)读取整个文件:readfile()、file()和file_get_contents()

int readfile( string filename [, bool use_include_path [, resource context]])

//readfile()读取一个文件并写入到输出缓冲,成功返回读取的字节数,失败返回FALSE。


array file( string filename [, int use_include_path [, resource context]])

//file()将整个文件的内容读入到一个数组中。成功返回数组,数组中的每个元素都是文件中对应的一行,包括换行符在内;失败返回FALSE。

string file_get_contents( string filename [, bool use_include_path [, resource context [,int offset [, int maxlen]]]])

//file_get_contents()将文件内容读入到一个字符串。如果有offset和maxlen参数,将在参数offset所指定的位置开始读取长度为maxlen的内容。失败则返回FALSE。
应用readfile()、file()、file_get_contents()函数,不需要打开/关闭文件,不需要输出语句,直接应用函数即可。

但是在读取一个字符、一行字符和任意长度的字符串时必须应用fopen()函数打开文件后才能进行读取,在读取完成后还要应用fclose()函数关闭文件。

3、向文件中写入数据

(1)fwrite(),别名fputs()

int fwrite( resource handle, string string [,int length])

fwrite()函数把string的内容写入文件指针handle处。成功返回写入的字符数,失败FALSE。

在应用fwrite()函数时,如果给出length参数,那么magic_quotes_runtime(php.ini文件中的选项)配置选项将被忽略,而string中的斜线将不会被抽去。如果在区分二进制文件和文本文件的系统上(如Windows)应用这个函数,打开文件时,fopen()函数的mode参数要加上'b'。

(2)file_put_contents():无需用fopen()和fclose()

将一个字符串data写入文件中,成功返回写入的字节数,失败返回FALSE。

int file_put_contents( string filename, string data [, int flags [, resource context]])
本函数可安全用于二进制对象。如果“fopen wrappers”已经被激活,则在本函数中可以把URL作为文件名来使用。

4、关闭文件指针

bool fclose( resource handle)



以上就介绍了PHP之文件处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn