PHP文件操作常见错误:
- 编辑错误的文件
- 被垃圾数据填满硬盘
- 意外删除文件内容
一、 readfile() 函数
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
读取此文件并写到输出流的 PHP 代码如下:
<?php
echo readfile("webdictionary.txt");
?>
二、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() 的第一个参数包含被打开的文件名,第二个参数规定打开文件的模式。
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");//如果不能打开文件,会输出相应信息
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile); //最后关闭文件
?>
三、fread()函数
fread() 函数读取打开的文件。
fread() 的第一个参数包含待读取文件的文件名,第二个参数规定待读取的最大字节数。
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
如上:代码中把 "webdictionary.txt" 文件读至结尾: fread($myfile,filesize("webdictionary.txt"));
四、fclose() 函数
fclose() 函数用于关闭打开的文件。
注释:用完文件后把它们全部关闭是一个良好的编程习惯。否则会占用服务器资源。
语法:fclose() 需要待关闭文件的名称(或者存有文件名的变量):
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
五、feof() 函数
feof() 函数检查是否已到达 "end-of-file" (EOF)。
feof() 对于遍历未知长度的数据很有用。
下例逐行读取 "webdictionary.txt" 文件,直到 end-of-file:
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出一行直到 end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
六、fgetc() 函数
fgetc() 函数用于从文件中读取单个字符。
下例逐字符读取 "webdictionary.txt" 文件,直到 end-of-file:
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出单字符直到 end-of-file
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?>
注释:在调用 fgetc() 函数之后,文件指针会移动到下一个字符。