0
我建立在一个简单的上传系统,下面我有上传系统部分的代码和列表。所以,我列出了上传所有文件的目录,但是当用户单击下载按钮时,它不起作用,再加上显示大小的代码显示为0但该文件上传的事实。PHP上传的文件检索错误
我发现如果文件上传到我的根目录,它是完全正常工作。当我将目录切换到根目录时,文件会显示出来,并且大小和下载部分都可以正常工作。
上传系统代码
if(isset($_FILES['image'])){
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size =$_FILES['image']['size'];
$file_tmp =$_FILES['image']['tmp_name'];
$file_type=$_FILES['image']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
$extensions= array("jpeg","jpg","png", "gif");
if(in_array($file_ext,$extensions)=== false){
$errors[]="extension not allowed, please choose a JPEG, PNG, or GIF file.";
}
if(empty($errors)==true){
move_uploaded_file($file_tmp, "dir/.$file_name");
}else{
print_r($errors);
}
}
检索上传文件代码:
$resource = opendir("dir/.");
while (($entry = readdir($resource)) != false) {
$download = '<a href="' . $entry . '"> Download </a> ';
if ($entry != '.' && $entry != '..') {
echo "<tr> <td>" . $entry . "</td> <td>" . formatSizeUnits(filesize($entry)) . "</td> <td> $download </td></tr>";
}
}
你检查了权限吗? – msantos
你也可以从move_uploaded_file($ file_tmp,“dir /.$ file_name”)中删除点并使用:move_uploaded_file($ file_tmp,“dir/$ file_name”)。检查它是否有效。 – msantos