0
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 ++;''$ j'는 0이 될 것이지만'$ i = 0; $ j = ++ $ i;''$ j'는 1이 될 것입니다. 그 자체로는 똑같은 효과를냅니다. 자세한 내용은 [여기를 참고하십시오] (http://php.net/manual/en/language.operators.increment.php)를 참조하십시오. – DaveRandom
비어있는 문자열 값을 테스트하는 것이 좋습니다 생각합니다. – allen213