file_put_contents出错

时间:2014-05-14 23:32:46

标签: php file file-upload error-handling

使用此代码时:

<?php
    $email = $_POST['email'];
    $file = "file.html";

    file_put_contents($file, $email . PHP_EOL, FILE_APPEND);

    include $file;
?>

我收到此错误:

PHP Warning:  file_put_contents(file.html): failed to open stream: Permission denied in G:\PleskVhosts\mydomain.com\test.php on line 5

这是什么意思,我该如何解决?

2 个答案:

答案 0 :(得分:0)

您可以使用此代码段对其进行测试。

if (file_exists($file)) {
  echo "File exists." . PHP_EOL;
}

if (is_writable($file)) {
  echo "File is writable." . PHP_EOL;
}

if (is_readable($file)) {
  echo "File is readable." . PHP_EOL;
}

答案 1 :(得分:0)

如果您拥有域,文件或其所在的计算机并不重要 - 事实是,尝试访问该文件的用户没有权限。

在该目录中的终端运行ls -la中,您将看到此文件的所有者和组,检查它们是否正确。

如果有疑问,请运行chmod 777 your_file.html,这将使其可读,可写等。