Rumah >pembangunan bahagian belakang >tutorial php >PHP之文件处理
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教程有兴趣的朋友有所帮助。