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);

私が得る警告は

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

ディレクトリファイル全体のアクセス許可を手動で 777 に設定しましたが、使用しません。
Windowsでfilezillaを使用しています

4

1 に答える 1

2

それら機能していますが、ここでは関係ありません:-)

ディレクトリへの書き込み権限 (ちなみに 777 は悪い考えです) は、そのディレクトリ内のファイルを作成、名前変更、および削除する権利を与えます。

すでにそこにあるファイルに書き込みたい場合、重要なのはディレクトリではなく、ファイルのアクセス許可です。

エラーから、それは既に存在しているように見えsi.xml、あなたから保護されています。ディレクトリに対する書き込み権限があれば、最初にそこにあるファイルを削除してから再作成できますが、おそらくファイル自体の権限を修正する方がよいでしょう。

于 2012-01-31T06:48:53.643 に答える