2012-01-31 50 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