我有表單驗證問題。當我不選擇文件上傳時,我仍然得到一個錯誤,只提示png圖像有效。我認爲,如果沒有選擇文件$ _FILES數組將是空的。php html文件上傳表單驗證錯誤
我在做什麼錯?
我上傳文件的HTML表單摘錄如下:
<label for="file">Filename
<span class="small">Upload image</span>
</label>
<input type="file" name="file" id="file">
我的PHP處理是這樣的:
$submitted_file = $_FILES['file'];
if(isset($submitted_file)) {
// verify the file PNG only
$fileType = exif_imagetype($submitted_file["tmp_name"]);
$allowed = array(IMAGETYPE_PNG);
$max_filesize = 512000;
if (!in_array($fileType, $allowed)) {
$proceed = false;
$arrErrors['submitted_file_ext'] = 'Please upload .png images only.';
}
}
'的var_dump($ _ FILES);'看,即使你不加載一個文件,'$ _FILES'數組仍然被設置。 –
您正在查看isset($ submitted_file),您將其設置爲$ _FILES [「file」]。所以它即使設置爲null也是如此。你應該檢查它是否爲empty()函數或類似if($ submitted_file ==「」) – SyntaxLAMP
我做了一個var_dump並得到數組(5){[「name」] => string(0 )「」[「type」] => string(0)「」[「tmp_name」] => string(0)「」[「error」] => string(1)「4」[「size」] =>字符串(1)「0」} – Ruf1