Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如何写入文件?_Php_File_Server - Fatal编程技术网

PHP-如何写入文件?

PHP-如何写入文件?,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('

我在index.php页面中有这段代码,虽然很简单,但我是一个PHPNoob。我只是想在每次有人访问这个页面时,都能将这一行代码附加到一个.txt文件中,但我无法让它工作。 我甚至没有收到错误信息。 服务器正在运行Pi

<?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”的所有权:不允许操作装载标志是什么?文件系统是什么