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,不加会很奇怪