PHP打开和读写文件的几种方法

<?php
/**-------------读取文件内容5种方法------------*/

//-----Method1----fread()--------
$file_path = "test.txt";
$fp = fopen($file_path,"r") or die('open file fail');
$str = fread($fp,filesize($file_path));//指定读取大小,这里把整个文件内容读取出来
$str = str_replace("\r\n","\n",$str);
print_r($str);
fclose($fp);

//-----Method2----这种用法很占用内存--------
if(file_exists($file_path)) {
    $str = file_get_contents($file_path);//将整个文件内容读入到一个字符串中
    $str = str_replace("\r\n", "\n", $str);
    print_r($str);
}

//-----Method3----fread()对于大文件设置$buffer每次读取大小--------
$fp = fopen($file_path,"r") or die('open file fail');
$str = "";
$buffer = 1024;//每次读取 1024 字节
while(!feof($fp)){//循环读取,直至读取完整个文件
    $str .= fread($fp,$buffer);
}
$str = str_replace("\r\n","\n",$str);
echo $str;
fclose($fp);

//-----Method4----file()--------
if(file_exists($file_path)){
    $file_arr = file($file_path);
    for($i=0;$i<count($file_arr);$i++){//逐行读取文件内容
        print_r($file_arr[$i]);
    }

//-----Method5----fopen-------
 $fp = fopen($file_path,"r");
 $str ="";
 while(!feof($fp)){
     $str .= fgets($fp);//逐行读取。如果fgets不写length参数,默认是读取1k。
 }
 $str = str_replace("\r\n","\n",$str);
 echo $str;
 fclose($fp);
 }

 /**----------------------写文件----------------------------------*/
//-----------------Method1-------fwrite-----------------
$str = "write file test\n";
//fopen($file_path,"a")追加
$fopen = fopen($file_path,"a")or die("文件不存在");
fwrite($fopen,$str);
fclose($fopen);

//-----------------Method1--------file_put_content()-----------------

$str = "file_put_content test \n";
file_put_contents($file_path,$str,FILE_APPEND);

?>

?>

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值