问题:
这个问题有三个方面。
- 在阅读了这条建议(如何保护用于让用户上传文件的文件夹?(以将照片存储在文档根目录之外的文件夹中后,我在使用Cloud9时遇到了一个问题。问题是以一种有效的方式编写PHP代码,该方法指向文档根目录上的一个级别,然后指向images文件夹
- 允许用户上传照片的文件夹在文档根目录之外应该具有哪些权限?我看到很多页面推荐
666
,这样用户就可以读/写,但不能执行。问题是,用户真的需要阅读照片吗?若您使用的是数据库,则允许由PHP而不是用户进行读取。如果这是一个好的情况,那么建议使用什么权限 - 访问文档根目录之外的图像的推荐方式是什么
代码:
目前,当我将此示例应用于Cloud9环境时,我必须编写硬编码的文件夹。
$upload_dir = '/home/ubuntu/images/';
虽然照片上传成功,但我觉得硬编码路径不是一种合适的方式。
期望结果:
要找到文档根目录外一级的/images文件夹的路径,请为该文件夹设置正确的权限,并根据PHP中的最佳实践访问上传的图像。
1(如何查找路径:
define ( DOCUMENT_ROOT, realpath(
$_SERVER['DOCUMENT_ROOT']
) . DIRECTORY_SEPARATOR
);
define ( UPLOAD_DIR, realpath(
DOCUMENT_ROOT .
DIRECTORY_SEPARATOR . ".." .
DIRECTORY_SEPARATOR . "images"
) . DIRECTORY_SEPARATOR
);
2( 在这种情况下,用户是指运行web服务器的用户。例如,"www数据"。