我有這種形式,我想檢查用戶是否選擇了一個文件。PHP檢查是否有文件選擇上傳
<form action="upload.php" method="POST" enctype="multipart/form-data" >
<select name="category">
<option value="cat1" name="cat1">Productfotografie</option>
<option value="cat2" name="cat2">Portretten</option>
<option value="cat3" name="cat3">Achitectuur</option>
</select>
<input type="file" name="file_upload">
<input type="submit" name="submit" value="Upload photo">
</form>
我寫這個PHP代碼來測試它
if (empty($_POST) === false) {
$fileupload = $_POST['file_upload'];
if (empty($fileupload) === true) { //
echo "Error no file selected";
} else {
print_r($_FILES);
}
}
但我得到的「錯誤沒有選擇的文件」就算我選擇的東西。任何線索?對不起,我真的是PHP新手。編輯:我已經嘗試更換$ fileupload = $ _FILES ['file_upload']但它打印一個空的錯誤(數組([file_upload] =>數組([名稱] => [類型] => [tmp_name] = > [error] => 4 [size] => 0)))當我不輸入文件?
使用['$ _FILES'(HTTP:// PHP。 net/manual/en/reserved.variables.files.php)而不是'$ _POST'來訪問上傳的文件。 – showdev 2014-10-17 19:53:27
@showdev我已經嘗試更換$ fileupload = $ _FILES ['file_upload']但它打印出一個空錯誤(Array([file_upload] => Array([name] => [type] => [tmp_name] => [error ] => 4 [size] => 0)))當我不輸入文件? – Mae 2014-10-17 20:06:47
這是正確的:'如果在表單中沒有選擇上傳文件,PHP將返回$ _FILES ['userfile'] ['size'] 0和$ _FILES ['userfile'] ['tmp_name']作爲none。 ' - [php.net](http://php.net/manual/en/features.file-upload.post-method.php) – showdev 2014-10-17 20:09:06