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