2014-05-14 26 views
-2

当使用此代码:错误与file_put_contents

<?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 

这是什么意思?如何解决?

+0

这意味着你不必写'file.html'的权利,和/或不具备写入将文件添加到文件所在的目录中。 –

+0

这意味着您在尝试写入文件时被拒绝了权限。 –

+0

我拥有该域名并拥有该文件。为什么我会被拒绝许可?我如何解决它? – Makai

回答

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; 
} 
+0

它说“文件存在,文件可读”。我如何使它可写? – Makai

+0

当你在窗户上时,@mjwatts给出的答案不适用于你。 我不知道如何使它在Windows中可写,但尝试右键单击该文件,看看你是否可以设置一些权限。 – BratAnon

+0

不知道这是否适用于您,但您可以试试这个http://www.wikihow.com/Change-File-Permissions-on-Windows-7 – BratAnon

0

,如果您拥有域名,文件或计算机它位于不要紧 - 事实是,谁在试图访问该文件的用户没有权限。

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

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

+0

什么是终端?这是我的网络浏览器吗?我如何运行这些东西? – Makai

+0

我错过了你使用windows的事实,所以我无法帮到那里。也许尝试使用一个FTP程序来查看您的主机上的文件,并应该能够显示您的文件的权限和所有者? – mjwatts