所以我有一个文件上传器,允许人们将文件上传到服务器,然后通过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由方式定义..)
答案 0 :(得分:1)
简单的答案是在Web根目录中创建符号链接到../Uploads:
ln -s ../uploads Uploads
当然这使得上传目录web可以访问。如果您想阻止上传目录可以通过Web访问,请不要创建符号链接,而是添加重写规则,将重定向请求重定向到/ Uploads /到将通过数据的php脚本,可能只有在检查了某些条件之后(就像用户登录一样)。