0
我需要上傳一些文件(圖像,但沒關係)使用jQuery和PHP。 我找到一個jQuery插件插件,使多個上傳文件http://www.fyneworks.com/jquery/multiple-file-upload/。所以,我有兩個輸入:從兩個輸入多個上傳filephp
<script type="text/javascript" language="javascript">
$(function(){
$('#immagini').MultiFile({
list: '#lista-immagini'
});
});
</script>
<input type="file" name="immagini[]" id="immagini" accept="gif|jpg|tiff" maxlength="10" />
<script type="text/javascript" language="javascript">
$(function(){
$('#plan').MultiFile({
list: '#lista-plan'
});
});
</script>
<input type="file" name="plan[]" id="plan" accept="gif|jpg|tiff" maxlength="10" />
和PHP文件從窗體調用是:
$files = array();
$fdata = $_FILES['immagini'];
if(isset($_FILES['immagini']))
if(is_array($fdata['name']) && !empty($fdata['name'])){
for($i=0;$i<count($fdata['name']);++$i){
$files[]=array(
'name' =>$fdata['name'][$i],
'tmp_name'=>$fdata['tmp_name'][$i],
'type' => $fdata['type'][$i],
'size' => $fdata['size'][$i],
'error' => $fdata['error'][$i],
);
}
foreach($files as $file){
$tmpName = $file['tmp_name'];
$fp = fopen($tmpName, 'r');
$immagine = fread($fp, filesize($tmpName));
$immagine = addslashes($immagine);
$DB->query('INSERT INTO immagini(id_annuncio, immagine) values('.$_GET['id'].', "'.$immagine.'")');
fclose($fp);
}
}
$files = array();
$fdata = $_FILES['plan'];
if(isset($_FILES['plan']))
if(is_array($fdata['name']) && !empty($fdata['name'])){
for($i=0;$i<count($fdata['name']);++$i){
$files[]=array(
'name' =>$fdata['name'][$i],
'tmp_name'=>$fdata['tmp_name'][$i],
'type' => $fdata['type'][$i],
'size' => $fdata['size'][$i],
'error' => $fdata['error'][$i],
);
}
foreach($files as $file){
$tmpName = $file['tmp_name'];
$fp = fopen($tmpName, 'r');
$immagine = fread($fp, filesize($tmpName));
$immagine = addslashes($immagine);
$DB->query('INSERT INTO planimetrie(id_annuncio, planimetria) values('.$_GET['id'].', "'.$immagine.'")');
fclose($fp);
}
}
的問題是,當我只從一個輸入上傳文件,另一個輸入上傳反正一個空文件。我能怎麼做?
感謝,馬蒂亞
你有'++ $ i'而不是'$ i ++'這可能會導致問題... – Gavin
@Gavin如果作爲一個更大的語句的一部分使用,這隻會有所作爲。如果你做'$ i = 0; $ j = $ i ++;'then'$ j'將會是0,但是如果你做'$ i = 0; $ j = ++ $ i;'然後'$ j'將爲1.它們自己的效果完全相同。 [見這裏](http://php.net/manual/en/language.operators.increment.php)瞭解更多信息。 – DaveRandom
我不認爲空對測試字符串值是有好處的。 – allen213