2012-01-31 77 views
1
$url = 'http://gdata.youtube.com/feeds/api/playlists/blabla'; 
$fp = fopen($url, 'r'); 
$buffer=''; 
if ($fp) { 
while (!feof($fp)) 
$buffer .= fgets($fp, 1024); 
fclose($fp); 
$buff=stripslashes($buffer); 
$old = umask(0); 
file_put_contents("si.xml", $buff); 
chmod("si.xml", 0777); 
umask($old); 

我得到的警告是PHP搭配chmod()和的umask()不正常

Warning: file_put_contents(si.xml) [function.file-put-contents]: failed to open stream 
Warning: chmod() [function.chmod]: Permission denied 

我甚至手動設置整個目錄中的文件的權限爲777,但沒有用。
上午在Windows上使用FileZilla的

+2

「權限被拒絕」表示您沒有權限執行此操作。正如xdazz所言, – xdazz 2012-01-31 06:44:58

+0

。您沒有權限 – senzacionale 2012-01-31 06:48:38

回答

2

他們工作,他們只是這裏無關緊要:-)上的目錄

寫權限(和777的方式是一個壞主意)給你正確在該目錄中創建,重命名和刪除文件。

如果您想寫信給那些已經存在的文件,它是重要的文件的權限,而不是目錄。

從錯誤,它看起來像si.xml已經存在,它是保護你。通過對目錄的寫入權限,您可以先刪除那裏的文件然後重新創建它,但是您最好在文件本身修復權限。

+0

我的意思是我按照我所知的方式檢查了所有可能的腳本工作方式。如果你能建議/寫下正確的代碼,我會很高興。 – krishna 2012-01-31 06:52:42

+2

@pbvamsi:你想用emailz嗎? – 2012-01-31 06:55:14

+0

@pbvamsi:如果您想要創建/刪除/重命名文件(最可能使用chmod進行設置,您需要對該目錄有寫權限)。您需要對您創建的文件進行寫入訪問才能覆蓋它們(創建之前使用umask,創建之後使用umask和/或創建後使用chmod)。用於chmod/umask的值完全取決於您是否希望將訪問權限限制爲一個用戶,一個組或每個人。 – paxdiablo 2012-01-31 06:56:03