我正在用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'];
}
最佳答案
您不理解文档根的概念。web服务器不会将本地文件系统反映给公众,主要是出于安全原因。
当您能够在Web浏览器中引用/var/www/../image.jpeg时,这实际上指向了与文档根目录相关的路径,例如/var/www/html/var/www/images/image.png
在此处阅读有关文档根的详细信息
https://httpd.apache.org/docs/2.4/en/mod/core.html#documentroot
关于php - PHP文件上传到另一个目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39267506/