在PHP中,我正在抓取远程图像:
$img = file_get_contents("http://example.com/image.jpg");
file_put_contents("../testdir/photo.jpg",$img);
我得到权限被拒绝错误,除非testdir设置为chmod 0777.其中,我尝试使用PHP然后将其设置回0755:
chmod("../testdir/", 0777);
$img = file_get_contents("http://example.com/image.jpg");
file_put_contents("../testdir/photo.jpg",$img);
chmod("../testdir/", 0755);
但操作不允许是否有安全,可行的替代方案?
谢谢!
答案 0 :(得分:4)
将目录的所有者更改为将运行PHP的用户(通常是Web服务器进程的同一用户--Amaase,lighttpd,nginx,无论什么 - 正在运行)。那么你就不会得到许可错误。