我的PHP脚本写入文件,以便它可以创建jpg图像。
fwrite($handle, $GLOBALS['HTTP_RAW_POST_DATA']);
fclose($handle);
print $newfile.'.jpg';
我已将此脚本放在新服务器上,但图像永远不会保存。它保存的文件夹的权限是755,但它不拥有它。上次,我认为我通过将目录所有者更改为apache来修复此问题,因为这是PHP运行的。我不能再这样做因为我不是根。
首先,是否有其他修复方法?其次,如果我可以像上次那样更改目录的所有者,这会解决问题吗?
感谢大家的帮助
答案 0 :(得分:8)
rwxrwxrwx
)rwxr-xr-x
)或甚至更好711(rwx--x--x
)顺便说一句。你可以减少以下代码:
fopen($newfile.'.jpg','wb');
fwrite($handle, $GLOBALS['HTTP_RAW_POST_DATA']);
fclose($handle);
print $newfile.'.jpg';
为:
file_put_contents($newfile.'.jpg',
file_get_contents('php://input',
FILE_BINARY),
FILE_BINARY)
答案 1 :(得分:1)
如果您不是所有者,那么是,目录为755是个问题。
为了打破它,755是:
请注意,仅所有者拥有755的写权限。
P.S。如果打开失败,fopen应返回错误。
答案 2 :(得分:1)
使用它:
>chown dir_name www-data
答案 3 :(得分:0)
几周前我遇到过类似的问题。它最终成为服务器中设置的PHP安全模式。
检查出来!
答案 4 :(得分:0)
将error_reporting(E_ALL)放在脚本的顶部,并检查在尝试保存图像时是否打印出任何警告。