PHP chmod 和 file_get_content 权限问题
在 PHP 中,我正在抓取远程图像:
$img = file_get_contents("http://example.com/image.jpg");
file_put_contents("../testdir/photo.jpg",$img);
除非 testdir 设置为 chmod 0777,否则我会收到 Permission Denied 错误。我尝试使用 PHP 执行此操作,然后将其设置回 0755:
chmod("../testdir/", 0777);
$img = file_get_contents("http://example.com/image.jpg");
file_put_contents("../testdir/photo.jpg",$img);
chmod("../testdir/", 0755);
但我不允许操作 有安全有效的替代方案吗?
谢谢!
In PHP, I'm grabbing remote images with:
$img = file_get_contents("http://example.com/image.jpg");
file_put_contents("../testdir/photo.jpg",$img);
I get a Permission Denied error unless testdir is set to chmod 0777. Which, I tried to do with PHP and then set it back to 0755:
chmod("../testdir/", 0777);
$img = file_get_contents("http://example.com/image.jpg");
file_put_contents("../testdir/photo.jpg",$img);
chmod("../testdir/", 0755);
but I got Operation Not Permitted Is there a safe, working alternative?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将目录的所有者更改为 PHP 将运行的用户(通常与 Web 服务器进程 - Apache、lighttpd、nginx 等 - 运行的用户相同)。那么你就不会收到权限错误。
Change the owner of the directory to be the user which PHP will be running as (typically the same user the web server process - Apache, lighttpd, nginx, whatever - is running as). Then you won't get permission errors.