2016-03-25 37 views
-2

嗨,我想在提交表單之前驗證用戶是否上傳了一個文件。它只是說文件沒有每次上傳。這適用於文本,但似乎不是文件。驗證文件上傳表單提交php

HTML

<li> 
      <label for="uthumb">Image of chair 120 x 200:</label> 
      <input type="file" name="uthumb"/> 
      <div class="errorAdd"><?php echo $errorThumb; ?></div> 
      </li> 

      <li> 
      <label for="uthumb">Large Image of chair 400 x 500:</label> 
      <input type="file" name="ulrgthumb"/> 
      <div class="errorAdd"><?php echo $errorImg; ?></div> 
      </li> 

PHP

$newThumb=''; 
    $newimg='';  

if(empty($_POST['uthumb'])){ 
      $all_valid = false; 

     $errorThumb = 'We need a thumbnail'; 

    }else{ 

     $newThumb=$_POST['uthumb']; 
    } 
if(empty($_POST['ulrgthumb'])){ 
      $all_valid = false; 

     $errorImg = 'We need a large image'; 

    }else{ 

     $newimg=$_POST['ulrgthumb']; 
    } 


} 
+0

隱形編輯?不確定你在那裏發生了什麼?我編輯以反映我在下面被告知的內容?如果這就是你的意思,我真的從來沒有真的添加過摘要?顯然這是錯誤的,如果沒有問題,爲什麼會發布問題。是的,這似乎是一個簡單的修復,我沒有想到。我正在嘗試錯誤的東西來解決它。我明顯地明白了,我認爲你的信息的語氣是完全沒有必要的。 –

+0

@moliminous爲了以後人們發現這個問題,請不要編輯問題以反映提供的答案。您應該編輯問題的唯一時間是修復格式或添加更多信息。 – Chris

+0

@Chris和OP確實標記了我的評論,關於他們的隱形編輯http://stackoverflow.com/revisions/36228122/2,因爲它從評論中消失了。它們明顯從'$ _POST'變爲'$ _Files',這是一個語法錯誤,並沒有將編輯AS標記爲額外的編輯。 –

回答

3

您要檢查

$_FILES 

不是

$_POST 

http://php.net/manual/en/features.file-upload.php

$newThumb=''; 
$newimg=''; if(empty($_FILES['uthumb'])){ 
    $all_valid = false; 
    $errorThumb = 'We need a thumbnail'; 
}else{ 
    $newThumb=$_FILES['uthumb']; 
} if(empty($_FILES['ulrgthumb'])){ 
    $all_valid = false; 
    $errorImg = 'We need a large image'; 
}else{ 
    $newimg=$_FILES['ulrgthumb']; 
} 
4

您需要使用$ _FILES數組,而不是$ _POST數組:File upload

+0

OP做了一個隱形編輯。 http://stackoverflow.com/posts/36228122/revisions –