php文件写入

1.打开文件 如果不存在会创建

<?php
$file=fopen("path","w");
?>
r     只读。在文件的开头开始。
r+  读/写。在文件的开头开始。
w     只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+  读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a     追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+  读/追加。通过向文件末尾写内容,来保持文件内容。
x     只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
x+  读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

2.关闭文件

<?php
fclose($file);
?>

3.检测文件末尾

<?php
feof($filee);
?>
返回布尔值

4.逐行读取

<?php
$file=fopen("path","w");

while(!feof($file))
  echo fgets($file);

fclose($file);
?>

5.写入文件

<?php
$file=fopen("path","w");
fwrite($file,"content");
fclose($file);
?>

以上fopen出来的文件会自动清空,所以不可以追加写入

 

6.追加写入实例

 <?php
            if (isset($_POST['publicip']))
            {
                echo  $_POST['publicip'];
                $strlog =date('Y-m-d H:i:s').'--'.'publicip='.$_POST['publicip'];
            }
            else if(isset($_POST['ipv6']))
            {
                $strlog =date('Y-m-d H:i:s').'--'.'ipv6='.$_POST['ipv6'];
            }
            else
            {
                $strlog =date('Y-m-d H:i:s').'--'.'localip='.$_POST['localip'];
            }
            file_put_contents("/www/wwwroot/sjhhh.xyz/1.txt",$strlog.PHP_EOL,FILE_APPEND);    
 ?>

 

7.注意事项

php文件写入权限问题:遇到debind报错,因为文件没写入权限,直接chmod 777 文件名 即可

php字符串拼接问题:​php字符串拼接不是'+'是'.'

php文件写入换行问题:windows是'/n',linux是'/r' php提供了都可用的 PHP_EOL

php文件追加写入问题:file_put_contents 后面参数得有FILE_APPEND,不加会很奇怪

原文地址:https://www.cnblogs.com/sjhhh/p/14671957.html