PHP chmod()和umask()无法正常运行

时间:2012-01-31 06:43:20

标签: php chmod umask

$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

1 个答案:

答案 0 :(得分:2)

他们正在工作,他们在这里无关紧要: - )

对目录的写权限(顺便说一下777是个坏主意)让你有权在该目录中创建,重命名和删除文件。

如果您要写入已经存在的文件,文件的权限,而不是目录。

从错误中看,si.xml看起来已经存在且受到保护。对目录具有写入权限,您可以先删除那里的文件然后重新创建它,但您可能最好修复文件本身的权限。