PHP-如何写入文件?
我在index.php页面中有这段代码,虽然很简单,但我是一个PHPNoob。我只是想在每次有人访问这个页面时,都能将这一行代码附加到一个.txt文件中,但我无法让它工作。 我甚至没有收到错误信息。 服务器正在运行PiPHP-如何写入文件?,php,file,server,Php,File,Server,我在index.php页面中有这段代码,虽然很简单,但我是一个PHPNoob。我只是想在每次有人访问这个页面时,都能将这一行代码附加到一个.txt文件中,但我无法让它工作。 我甚至没有收到错误信息。 服务器正在运行Pi <?php $fileDir = fopen('/mnt/data_8GB/webCrawlLog.txt', 'a'); if ($fileDir === NULL) echo "ERROR"; else {fwrite($fileDir, date('
<?php
$fileDir = fopen('/mnt/data_8GB/webCrawlLog.txt', 'a');
if ($fileDir === NULL) echo "ERROR";
else {fwrite($fileDir, date('H:i:s:'));}
fclose($fileDir);
?>
TL:DR
只是尝试使用PHP写入.txt文件,如果没有文件,可能会让PHP创建一个文件。您的PHP代码可以正常工作,尝试写入
/tmp
,您将看到它已填充
我想你的PHP是由apache运行的?这意味着用户apache正在运行,因为(通常www-data
)需要对该文件夹进行写访问
实际上,您还需要对正在运行的整个路径进行写访问
namei -l /mnt/data_8GB/
如果显示两个文件夹的权限,则两个文件夹都需要以用户、组或世界身份对www数据进行写访问。虽然团体比较好 在打开PHP标记后立即在文件顶部添加错误报告,例如
文件内容('/mnt/data\u 8GB/webCrawlLog.txt',date('H:i:s:')。PHP\u EOL,file\u APPEND)
fopen
成功返回文件句柄,失败返回布尔值false;您正在使用==
执行与返回值的严格比较。因此,如果fopen
失败,您将不会进入错误行,但仍然无法写入。您还需要执行fwrite($fileDir,date('H:i:s:')。“\n”)代码>否则,您将在一条长线内结束内容。10次中有9次是权限问题。TL;博士PHP文档将帮助您:尝试写入/tmp,同样的问题。运行namei-l/mnt/data_8GB/gives:drwxr-xr-x root-root/drwxr-xr-x root-mnt drwxr-xr-x pi-pi-data_8GBOk,所以我对代码做了一点修改:这很好。它创建一个文件,可以附加到它,给我的信息,工程伟大。唯一的问题是我仍然无法保存到我的/mnt/data\u 8GBRoot是这两者的所有者和组。Chown www data两个文件夹SPI/mnt$sudo Chown www data data_8GB Chown:更改“data_8GB”的所有权:不允许操作装载标志是什么?文件系统是什么