PHP文件上传到另一个目录

时间:2016-09-01 09:18:01

标签: php linux file-upload

我在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'];
}

1 个答案:

答案 0 :(得分:0)

你不理解文档root的概念。 Web服务器不会将本地文件系统公开,主要是出于安全原因。

当您能够在Web浏览器中引用/var/www/../image.jpeg时,这实际上指向相对于文档根目录的路径,例如process

在此处阅读有关文档根目录的更多信息

https://httpd.apache.org/docs/2.4/en/mod/core.html#documentroot