我有一个网站/var/www/html
,我有一个 PHP 脚本,用于将用户选择的图像上传到。除非我将文件夹的权限更改为写入,/var/www/html/images
否则该脚本将无法运行。/images
允许脚本对此文件夹具有写权限的最佳选项是什么?或者,最好通过 PHP 代码完成此操作,以便 PHP 代码每次执行时都打开文件夹进行写入?
或者,也许将图像文件夹放在 /var/www 之外并在那里赋予它 777 权限?(或者这也不好)
答案1
Web 服务器必须对要存储图像的目录具有写入权限。有 3 个选项:
让 Web 服务器成为目录的所有者,并将目录的所有者权限设置为 u=rw (644)
让 Web 服务器的组成为目录的组,并将目录的组权限设置为 g=rw (664)
设置目录上其他人的权限为 o=rw (666)
第一个选项通常是保护目录的最佳方法。
但是,如果您没有服务器的 root 访问权限,则通过 FTP 访问时删除、移动或重命名文件可能会很困难。如果这是一个严重的问题,则选项 2 是合理的。
通常不需要使用选项 3。