首先,这不是重复:Permission denied on getimagesize
我得到了以下代码,我为图像坐了chmod
,然后我不想得到它的大小。
@chmod($path."/".$filename, '0666');
getimagesize($path . "/" . $filename);
但如果我设置chmod,我收到此错误消息:
无法打开流:[...]
中的权限被拒绝
有什么问题?所有文件和目录都具有相同的组和所有者 - www-data
。
答案 0 :(得分:2)
尝试放置/之前的路径。不确定php,但我知道python不会添加初始/到某些路径操作,所以它可能正在寻找绝对的相对路径instad:
@chmod("/". $path."/".$filename, '0666');
getimagesize("/". $path . "/" . $filename);
答案 1 :(得分:1)
首先,如果chmod
(假设是您的网络服务器的用户)没有www-data
,那么$path
将不会成功(权限将被拒绝;或许您得到的错误来自chmod?)具有对目录www-data
的写访问权。确保$path
对$path
的所有家长以及 chmod
的写入权限具有读取权限。
另外,请确保在getimagesize
和{{1}}中使用绝对路径。
答案 2 :(得分:1)
实际上你真的需要在getimagesize之前使用chmod吗?
如果是这样,也许你可以尝试在chmod之前放入umask。 这样的事情?
$old = umask(0);
chmod($path,0777);
umask($old);