在本章中,我们将教你如何打开,读取,并关闭该服务器上的文件。
PHP打开文件- fopen()
一个更好的方法来打开文件与fopen()的功能。 该功能为您提供了比更多的选择readfile()函数。
我们将使用文本文件, "webdictionary.txt" ,期间的经验教训:
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL
= Structured Query Language
SVG = Scalable Vector Graphics
XML =
EXtensible Markup Language
的fopen()的第一个参数包含要打开的文件的名称和所述第二参数指定在所述模式中的文件应该被打开。 以下示例还产生一条消息,如果则fopen()函数是无法打开指定的文件:
例
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
运行示例» 提示:的fread()和FCLOSE()函数将在下面解释。
该文件可能会在以下几种模式之一打开:
Modes | Description |
---|---|
r | Open a file for read only . File pointer starts at the beginning of the file |
w | Open a file for write only . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file |
a | Open a file for write only . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist |
x | Creates a new file for write only . Returns FALSE and an error if file already exists |
r+ | Open a file for read/write . File pointer starts at the beginning of the file |
w+ | Open a file for read/write . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file |
a+ | Open a file for read/write . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist |
x+ | Creates a new file for read/write . Returns FALSE and an error if file already exists |
PHP读取文件 - FREAD()
该FREAD()函数从打开的文件读取。
的fread()的第一参数包含文件的名称,从阅读和所述第二参数指定要读取的字节的最大数量。
下面的PHP代码读取“webdictionary.txt”文件末尾:
fread($myfile,filesize("webdictionary.txt"));
PHP关闭文件- fclose()
该fclose()函数用于关闭已打开的文件。
这是一个良好的编程习惯关闭所有文件,你与他们完成之后。 你不想打开的文件在您的服务器占用资源到处乱跑!
该fclose()要求文件(或保存的文件名可变的),我们想关闭的名称:
<?php
$myfile = fopen("webdictionary.txt", "r") ;
// some code to be
executed....
fclose($myfile) ;
?>
PHP读取单线- fgets()
在fgets()函数是用来从文件中读取一行。
下面的例子中输出的第一行"webdictionary.txt"文件:
例
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
echo fgets($myfile);
fclose($myfile);
?>
运行示例» Note:在通话结束后fgets()函数,文件指针移动到下一行。
PHP检查档案结尾- feof()
该feof()函数检查"end-of-file" (EOF)已经达成。
所述feof()函数是用于通过未知长度的数据循环是有用的。
下面的例子中读取"webdictionary.txt"按行文件中的行,当达到-的文件结束为止:
例
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
// Output one line until end-of-file
while(!feof($myfile))
{
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
运行示例» PHP读取单个字符- fgetc()
的fgetc()函数是用来从文件中读取的单个字符。
下面的例子中读取"webdictionary.txt"由字符文件的字符,当达到-的文件结束为止:
例
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
// Output one character until end-of-file
while(!feof($myfile))
{
echo fgetc($myfile);
}
fclose($myfile);
?>
运行示例» Note:在通话结束后fgetc()函数,文件指针移动到下一个字符。
完整的PHP文件系统参考
对于文件系统功能的完整参考,请给我们完整的PHP文件系统参考 。