我的 PHP 脚本写入一个文件,以便它可以创建一个 jpg 图像。
fwrite($handle, $GLOBALS['HTTP_RAW_POST_DATA']);
fclose($handle);
print $newfile.'.jpg';
我已将此脚本放在新服务器上,但图像从未保存。它保存到的文件夹的权限是 755 但它不拥有它。上次,我想我通过将目录所有者更改为 apache 解决了这个问题,因为这是 PHP 运行的方式。我不能再做同样的事情,因为我不是 root。
首先,还有其他修复方法吗?其次,如果我可以像上次一样更改目录的所有者,是否可以解决问题?
感谢大家的帮助
最佳答案
- 将文件夹的权限更改为 777 (
rwxrwxrwx
) - 从 PHP 创建子目录 mkdir
- 将您的目录权限改回 755 (
rwxr-xr-x
) 或更好的 711 (rwx--x--x
) - 从现在开始,将您的图像保存在子目录中,该目录现在归 www-data(或 Apache 使用的任何用户)所有。
顺便说一句。您可以减少以下代码:
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)
关于php - 使用 PHP : Is this a permissions problem? 写入目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/678388/