2016-09-20 48 views
3

我做了兩頁做的只是一個職位,每一個有form發送所選圖像通過指向save.php一個AJAX腳本到本地主機(含代碼重新命名,realocate ,並與目標文件夾/文件名更新MySQL的。兩種不同形式通過PHP和AJAX

第一種形式的罰款。但選擇第二頁面加載和文件時,沒有更多的情況。就像我無法用$_FILES變量的兩倍。

這裏的第一頁的html(第二個是相同的,但我把f_chassi改爲f_nmotor

$(document).ready(function(){ 
$("#btn").on('click', function(){ 

var data = new FormData(); 
data.append('f_chassi', $('#f_chassi')[0].files[0]); 

$.ajax({ 
url: 'salvar.php', 
data: data, 
processData: false, 
contentType: false, 
type: 'POST', 
}); 
}); 
}); 


function filePreview(input) { 

if (input.files) { 
var reader = new FileReader(); 
reader.onload = function (e) { 
$('#fotoPreview + img').remove(); 
$('#fotoPreview').before('<center><img src="'+e.target.result+'" width="75%"/></center>'); 
} 
reader.readAsDataURL(input.files[0]); 
} 
} 
$("#f_chassi").change(function() { 
filePreview(this); 
}); 
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 

<body> 
<div id="wrapper"> 
<div class="titulo">O.S. <?php echo $_SESSION['novaOS']; ?></div> 
<div id="novaos"> 

<div class="subtitulo"> 
<?php 
echo "Placa: <i>".$_SESSION['placa']."</i>"; 
?> 
</div> 

<div class="subtitulo">FOTO CHASSI</div> 

<form method="post" enctype="multipart/form-data" id="fotoPreview" action="fotoNumMotor.php"> 
<input type="file" name="f_chassi" id="f_chassi" accept="image/*" capture="camera"> 

<button type="button" id="btn">SALVAR</button> 
<div> 
<input type="submit" value="PRÓXIMA"> 
</div> 
</form> 

</div> 
</div> 
</body> 

這裏是save.php代碼:

<?php 
if (!empty($_FILES['f_chassi'])){ 
    $dir_img = "../uploads/fotos/"; 
    $prefix = time()."_"; 
    $fn = $prefix."chassi_".$_FILES['f_chassi']['name']; 
    $src = $dir_img.$fn; 
    move_uploaded_file ($_FILES['f_chassi']['tmp_name'], $src); 
    $chassi = $src; 
    mysql_query ("UPDATE imagens SET chassi='$chassi' WHERE     idp='".$_SESSION['novaOS']."'"); 
} 

if (!empty($_FILES['f_nmotor'])){ 
    $dir_img = "../uploads/fotos/"; 
    $prefix = time()."_"; 
    $fn = $prefix."nmotor_".$_FILES['f_nmotor']['name']; 
    $src = $dir_img.$fn; 
    move_uploaded_file ($_FILES['f_nmotor']['tmp_name'], $src); 
    $nmotor = $src; 
    mysql_query ("UPDATE imagens SET nmotor='$nmotor' WHERE idp='".$_SESSION['novaOS']."'"); 
}?> 
+0

你有JavaScript的兩個版本呢?您目前有'f_chassi'硬編碼在JS:'data.append( 'f_chassi',$( '#f_chassi')[0] .files [0]);' –

+0

@JeremyHarris是的,我確實有每個變量一個javascript 。 關於第二個問題,很抱歉,但我沒有明白。 –

回答

0

我解決了這個問題改變了腳本這樣:

<script type="text/javascript"> 
$(function(){ 
$('form').submit(function(){ 

var dados = new FormData(); 
dados.append('fotoNumMotor', $('#f_nmotor').prop('files')[0]); 

$.ajax({ 
url: 'salvar.php', 
data: dados, 
type: 'POST', 

processData: false, 
cache: false, 
contentType: false 
}); 
}); 
}); 
</script> 

此外,由於@JeremyHarris調用我的注意.append變量。