阅读量: 18
PHP文件读写
一、相关函数
- 打开文件:fopen
- 读写文件:fgets(按行读取)、fwrite
- 关闭文件:fclose
- 附加函数
- 判断文件是否已经到达末尾:feof($fp)
- 一次性将文件所有内容读取:file_get_contents($fp),使用该函数当参数为URL地址时可以发送请求
- 一次性写入文件:file_put_contents()
- 获取当前文件指针所在位置:ftell
- 直接将文件指针指向某个位置:fseek
二、读写模式
模式 |
描述 |
r |
只读。在文件的开头开始。 |
r+ |
读/写。在文件的开头开始。 |
w |
只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
w+ |
读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
a |
追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。 |
a+ |
读/追加。通过向文件末尾写内容,来保持文件内容。 |
x |
只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 |
x+ |
读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 |
三、示例
$fp = fopen("learn.csv", "r");
while(!feof($fp)){
$line = fgets($fp);
$line = str_replace("\n","<br/>",$line);
$line = iconv("GBK","UTF-8",$line);
echo $line;
}
fclose($fp);
$fp = fopen("write.csv","a");
fwrite($fp,"/n\test,test1234,login-fail");
fclose($fp);
set_time_limet(0);
$pos = 0;
while(true){
$fp = fopen("test.txt","r");
fseek($, $pos);
whlie($line = fgets($fp)){
echo $line . "<br/>";
}
$pos = ftell($fp);
fclose($fp);
ob_flush(); // 把数据从PHP的缓冲中释放出来
flush(); // 把不在缓冲中的或者被释放的数据发送到浏览器
sleep(2);
}