时间:2011-10-22 20:16:32

标签: php upload

所以我有一个文件上传器,允许人们将文件上传到服务器,然后通过URL下载。

我想将上传的文件存储在Root之外。 (从名为Uploads的文件夹中的根目录上升一级)

代码段

$server = "http://www.mysite.com";

$name = $_FILES['file']['name'];
$temp = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size'];

$destination = '../uploads/'. $random;
mkdir($destination);
move_uploaded_file($temp, $destination."/".$name);

$final = $server."/".$destination."/".$name;

此...

$destination = 'Uploads/' . $random ;

无法正常工作(找不到文件错误)。 ($ random由方式定义..)

1 个答案:

答案 0 :(得分:1)

简单的答案是在Web根目录中创建符号链接到../Uploads:

ln -s ../uploads Uploads

当然这使得上传目录web可以访问。如果您想阻止上传目录可以通过Web访问,请不要创建符号链接,而是添加重写规则,将重定向请求重定向到/ Uploads /到将通过数据的php脚本,可能只有在检查了某些条件之后(就像用户登录一样)。