PHP 文件I/O
-
包含文件
本章将解释与文件相关的以下功能- 打开文件
- 读一个文件
- 写一个文件
- 关闭文件
-
打开和关闭文件
PHPfopen()
函数用于打开文件。它需要两个参数,第一个参数为文件名,第二个参数操作模式。文件模式可以指定为此表中的六个选项之一。模式 描述 r 打开文件以供阅读。将文件指针放在文件的开头。 r+ 打开文件进行读写。将文件指针放在文件的开头。 w 打开文件仅供写入。将文件指针放在文件的开头。并将文件截断为零长度。如果文件没有然后它会尝试创建一个文件。 w+ 打开文件以进行读写。将文件指针放在文件的开头。并将文件截断为零长度。如果文件没有然后它会尝试创建一个文件。 a 打开文件仅供写入。将文件指针放在文件的末尾。如果文件不存在,则会尝试创建文件。 a+ 打开文件以进行读写。将文件指针放在文件的末尾。如果文件不存在,则会尝试创建文件。 如果尝试打开文件失败,则fopen返回false值,否则返回一个文件指针,用于进一步读取或写入该文件。在对打开的文件进行更改后,使用fclose()
函数关闭它是很重要的。fclose()
函数需要一个文件指针作为它的参数,成功关闭返回成功,否则false。 -
读一个文件
一旦使用fopen()
函数打开文件,就可以使用名为fread()
的函数读取它。此函数需要两个参数,文件指针和以字节表示的文件长度。可以使用filesize()
函数找到文件长度,该函数将文件名作为参数,并返回以字节为单位表示的文件大小。以下是使用PHP读取文件所需的步骤。- 使用
fopen()
函数打开文件。 - 使用
filesize()
函数获取文件的长度。 - 使用
fread()
函数读取文件的内容。 - 使用
fclose()
函数关闭文件。
以下示例将文本文件的内容分配给变量,然后在网页上显示这些内容。<html> <head> <title>用PHP读取一个文件</title> </head> <body> <?php $filename = "tmp.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "打开文件出错" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "文件大小 : $filesize bytes" ); echo ( "<pre>$filetext</pre>" ); ?> </body> </html>
- 使用
-
写一个文件
可以使用PHPfwrite()
函数编写新文件或将文本附加到现有文件。此函数需要两个参数来指定文件指针和要写入的数据字符串。可选地,可以包括第三个整数参数以指定要写入的数据的长度。如果包含第三个参数,则写入将在达到指定长度后停止。以下示例创建一个新的文本文件,然后在其中写入一个短文本标题。关闭此文件后,使用file_exist()
函数确认其存在,该函数将文件名作为参数<?php /*Linux 服务器使用文件路径方式*/ //$filename = "/home/user/guest/newfile.txt"; /*Window 使用文件路径方式*/ $filename = "D:/web/newfile.txt"; $file = fopen( $filename, "w" ); if( $file == false ) { echo ( "打开文件失败!" ); exit(); } fwrite( $file, "这是一个简单的例子\n" ); fclose( $file ); ?> <html> <head> <title>用PHP写入一个文件</title> </head> <body> <?php /*新建一个文件*/ $filename = "newfile.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "打开文件失败!" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "文件大小 : $filesize bytes" ); echo ( "$filetext" ); echo("文件名: $filename"); ?> </body> </html>
提示:这里简单的介绍了文件IO的知识,后面在文件系统章节,会全面的介绍这些知识。