fwrite()函数不起作用



所以这是我的代码:

<?php
$path = 'logs/' . date("Y:m:d") . '.txt';
$get = $_POST['data']; // I know this is insecure, don't worry
$file = fopen($path, 'w') or die("Something is wrong with your file permissions, please obtain the nessecary rights!");
fwrite($file, $get) or die('error writing to file');    
?>

fopen()功能正常工作,我没有任何错误。问题是我得到了" error writing to file",这意味着我的fwrite()函数有问题。

这里有什么问题?

我正在使用apache2和php7。

由于您的文件名称的名称(如:

),它是行不通的
$path = 'logs/' . date("Y:m:d") . '.txt';

您会注意到,生成的路径将是: logs/2016:12:18.txt 暗示您的 .txt 文件的名称是 2016:12:18 这不是一个有效名称,因为文件名不能包含冒号( : )。

请注意;命名文件时无法使用以下字符:

  • &lt;(小于)
  • >(大于)
  • :(colon)
  • "(双引号)
  • /(前向斜线)
  • (BackSlash)
  • |(垂直条或管道)
  • ?(问号)
  • *(星号)

...在这里和这里阅读更多。

您应该修改可接受的文件名,以使其正常工作。

以下是一个示例,使用连字符( - )作为定界符:

$path = 'logs/' . date("Y-m-d") . '.txt'; // Expected result: logs/2016-12-18.txt

最新更新