我在我的HTML表單中有很多文件輸入。他們都在陣列中。如何不上傳空文件輸入
例如:
<input type="file" name="attach[]">
<input type="file" name="attach[]">
<input type="file" name="attach[]">
<input type="file" name="attach[]">
我怎樣才能找到PHP空的投入?
我在我的HTML表單中有很多文件輸入。他們都在陣列中。如何不上傳空文件輸入
例如:
<input type="file" name="attach[]">
<input type="file" name="attach[]">
<input type="file" name="attach[]">
<input type="file" name="attach[]">
我怎樣才能找到PHP空的投入?
所有字段(即使是空的)被髮送到服務器,每場都會有其信息(tmp_name
,name
,size
,error
,......),雖然它是空的數組項。
只需對照UPLOAD_ERR_NO_FILE
(int:4)常量檢查$_FILES['attach']['error'][$i]
。
有關文件上傳錯誤消息的更多信息,請參閱the official PHP manual page。
請注意,對於具有相同名稱<input type="file" name="attach[]">
一堆文件的陣列看起來像這樣(在這種情況下三個文件輸入字段):
$_FILES['attach'] => array(
'name' => array(
0 => 'File 1.jpg',
1 => 'File 2.pdf',
2 => ''
),
'error' => array(
0 => 0,
1 => 0,
2 => 4
),
'tmp_name' => array(
0 => 'foo',
1 => 'bar',
2 => ''
)
// ...
)
使用這種在您的每一個,當你上傳文件
<?php
if(!empty($_FILES['attach'][$i]))
{
//upload function
}
?>
我建議你檢查的大小,如果是大於0,然後上傳或在你認爲合適的方式處理它
foreach($_FILES['attach']['size'] as $file) {
if($file > 0) {
// Upload
}
}
對不起語言,我不太懂英語 – 2014-09-10 13:21:16