2014-05-14 48 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