今天写一个获取天气的网页时,想在后台通过txt记录前端传来的城市编码,却突然发现fwrite()函数无法正常写入文本。第一时间想到的是查看文件读写权限,显示是可读可写的,刚刚在其他文件夹下运行时也是可以正常读写的!文件权限正常,然后开始想到是不是php的读写权限不够,然后通过fileperms()函数查询文件的读写权限,发现也是正常的,上网查资料,也没有个具体的说法,于是猜想是文件路径不对,将原来的相对路径改为绝对路径,文本顺利写入。
下面是代码示范
<?php
echo fileperms('text.txt'); //查询文件的权限
$result = chmod('text.txt', 0777); //修改文件读写
var_dump($result);
echo fileperms('text.txt');
$file = fopen('text.txt', 'w+');//相对路径
$writerResult = fwrite($file, '写入文本');
var_dump($writerResult); //显示成功写入,返回写入的字符数,实际没有写入
fclose($file);
<?php
echo fileperms('text.txt'); //查询文件的权限
$result = chmod('text.txt', 0777); //修改文件读写
var_dump($result);
echo fileperms('text.txt');
$file = fopen(__DIR__.'\text.txt', 'w+');//绝对地址
$writerResult = fwrite($file, '写入文本');
var_dump($writerResult); //显示成功写入,返回写入的字符数,成功写入
fclose($file);