Мне нужно загрузить некоторые файлы (изображения, но это не имеет значения) с помощью jquery и php. Я нахожу плагин плагина jquery для создания нескольких файлов для загрузки, http://www.fyneworks.com/jquery/multiple-file-upload/. Таким образом, у меня есть эти два входа:Несколько файлов загрузки файлов с двух входных данных
<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; 'then' $ j' будет 1. Само по себе они будут иметь точно такой же эффект. [См. Здесь] (http://php.net/manual/en/language.operators.increment.php) для получения дополнительной информации. – DaveRandom
Я не думаю, что пустое полезно для тестирования строковых значений. – allen213