PHP写入TXT
<?php $hua = "这是我要写入的一段话"; $filename = 'name.txt'; $handle =fopen($filename,'a'); fwrite($handle,$hua); fclose($handele); ?>
PHP读取TXT内容
-----第一种方法-----fopen+fread--------
<?php $file_path = "test.txt"; if(file_exists($file_path)){ $fp = fopen($file_path,"r"); $str = fread($fp,filesize($file_path));//指定读取大小,这里把整个文件内容读取出来 fclose($fp); echo $str = str_replace("rn","<br />",$str); } ?>
--------第二种方法------file_get_contents------
<?php $file_path = "test.txt"; if(file_exists($file_path)){ $str = file_get_contents($file_path);//将整个文件内容读入到一个字符串中 $str = str_replace("rn","<br />",$str); echo $str; } ?>
-----第三种方法-------fopen+fread循环-----
<?php $file_path = "test.txt"; if(file_exists($file_path)){ $fp = fopen($file_path,"r"); $str = ""; $buffer = 1024;//每次读取 1024 字节 while(!feof($fp)){//循环读取,直至读取完整个文件 $str .= fread($fp,$buffer); } $str = str_replace("rn","<br />",$str); fclose($fp); echo $str; } ?>
-------第四种方法-------file读取-------
<?php $file_path = "test.txt"; if(file_exists($file_path)){ $file_arr = file($file_path); for($i=0;$i<count($file_arr);$i++){//逐行读取文件内容 echo $file_arr[$i]."<br />"; } /* foreach($file_arr as $value){ echo $value."<br />"; }*/ } ?>
----第五种方法---------fopen+fget-----------
<?php $file_path = "test.txt"; if(file_exists($file_path)){ $fp = fopen($file_path,"r"); $str =""; while(!feof($fp)){ $str .= fgets($fp);//逐行读取。如果fgets不写length参数,默认是读取1k。 } $str = str_replace("rn","<br />",$str); fclose($fp); echo $str; } ?>
PHP清空TXT
方法一:file_put_contents
<?php $filename = 'name.txt'; file_put_contents($filename, ""); ?>
方法二:fopen
<?php $handle =fopen($filename,'w+');fclose($handele); ?>
附录:fopen的几个主要参数
"w" 写入方式打开,将文件指针指向文件头并将文件大小清为零。如果文件不存在则尝试创建之。
"w+" 读写方式打开,将文件指针指向文件头并将文件大小清为零。如果文件不存在则尝试创建之,文件存在则新建一个文件覆盖,从头开始写入。
"a" 附加方式,以只写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之,文件存在则在末尾继续写入。
"a+" 附加方式,以读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之,文件存在则在末尾继续写入。
"r" 打开只读文件,该文件必须存在,文件指针指向文件头,从头开始读取。
"r+" 打开可读写的文件,该文件必须存在,文件指针指向文件头,从头开始读写。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。