我在php上传文件。上传目录是
/var/www/html/oop/uploads/images/
但是当我打开文件夹上传后,它不包含任何图像。但是,当我尝试将图像包含在这样的网页中时,
<img src="http://localhost/oop/uploads/images/1472722513.jpg" />
它被包含在网页中并且工作正常。我不知道这是怎么回事,我使用的是ubuntu 16.04。
我的上传代码
$file_path = '/var/www/html/oop/uploads/images/';
$name = $_SERVER['image']['name'];
$name = explode('.', $name);
$name = array_reverse($name);
$file_name = time() . '.' . $name[0];
$temporary_location = $_SERVER['image']['name']['tmp_name'];
if(move_uploaded_file($temporary_location, $file_path.$file_name)) {
echo "all ok";
} else {
echo $_SERVER['image']['name']['error'];
}
答案 0 :(得分:0)
你不理解文档root的概念。 Web服务器不会将本地文件系统公开,主要是出于安全原因。
当您能够在Web浏览器中引用/var/www/../image.jpeg时,这实际上指向相对于文档根目录的路径,例如process
在此处阅读有关文档根目录的更多信息
https://httpd.apache.org/docs/2.4/en/mod/core.html#documentroot