我的PHP脚本写入文件,以便它可以创建一个jpg图像.
fwrite($handle, $GLOBALS['HTTP_RAW_POST_DATA']); fclose($handle); print $newfile.'.jpg';
我已将此脚本放在新服务器上,但图像永远不会被保存.它保存的文件夹的权限是755,但它不拥有它.上次,我认为我通过将目录所有者更改为apache来修复此问题,因为这是PHP运行的.我不能再这样做因为我不是根.
首先,是否有其他修复?其次,如果我可以像上次那样更改目录的所有者,这将解决问题吗?
谢谢大家的帮助
将文件夹的权限更改为777(rwxrwxrwx
)
从PHP创建子目录与mkdir
将目录权限更改回755(rwxr-xr-x
)甚至更好711(rwx--x--x
)
从现在起将图像保存在子目录中,该子目录现在由www-data(或Apache使用的任何用户)拥有.
BTW.你可以减少以下代码:
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)