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 回答