本篇內容介紹了“ajax如何上傳多圖到php服務器”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都創新互聯客戶idc服務中心,提供聯通機房服務器托管、成都服務器、成都主機托管、成都雙線服務器等業務的一站式服務。通過各地的服務中心,我們向成都用戶提供優質廉價的產品以及開放、透明、穩定、高性價比的服務,資深網絡工程師在機房提供7*24小時標準級技術保障。
一般上傳圖片到服務器有兩種方式:
1、把圖片轉換成二進制直接存儲到數據庫里
2、把圖片存儲到本地目錄,并將圖片地址存儲到數據庫里
先粗淺地談下我對這兩種存儲方法的優劣點的認識:
1、把圖片轉換成二進制直接存儲到數據庫的優點是有利于數據的備份和遷移,但缺點就是會影響數據讀寫速率。一般大圖、多圖不建議用此方式,一般存儲用戶頭像、富文本內容存儲時可以應用此方式。
2、將圖片存儲到本地目錄,在數據庫上只存儲圖片路徑的優點是有利于數據的讀寫,畢竟存一個地址要比存整個圖片的大小要小得多。但是缺點就不利于數據的備份和遷移。
先介紹一下存儲圖片路徑的方法:
html代碼:
<form id="form1"> <span > </span><div class="bookImg"> <div class="img-box"> <input type="file" name="photo1" id="" title="文件不超過200kb,大小最佳為60*60"> </div> <div class="img-box"> <input type="file" name="photo2" id="" title="文件不超過200kb,大小最佳為60*60"> </div> </div> <input type="button" class="bookBtn btnBlue" id="publishBook" value="發布圖書" onclick="fsubmit()"/> </form>
ajax請求:
function fsubmit() {
var form1=document.getElementById("form1");
var fd =new FormData(form1);
$.ajax({
url: "photo.php",
type: "POST",
data: fd,
processData: false,
contentType: false,
success: function(response,status,xhr){
console.log(xhr);
var json=$.parseJSON(response);
var result = '';
result += '<br/><img src="' + json['photo1'] + '" height="100" />';
result += '<br/><img src="' + json['photo2'] + '" height="100" />';
result += '<br/>' + json['photo1'];
result += '<br/>' + json['photo2'];
$('#result').html(result);
}
});
return false;
}php代碼:photo.php
<?php
require('conn.php');
$nameTag = time();
$filename1 = $nameTag . '0' . substr($_FILES['photo1']['name'], strrpos($_FILES['photo1']['name'],'.'));
$filename2 = $nameTag . '1' . substr($_FILES['photo2']['name'], strrpos($_FILES['photo2']['name'],'.'));
$response = array();
$path2 = "img/" . $filename1; <span >//注意要在目錄下新建一個名為img的文件夾用來存放圖片
$path3 = "img/" . $filename2;
if(move_uploaded_file($_FILES['photo1']['tmp_name'], $path2) && move_uploaded_file($_FILES['photo2']['tmp_name'], $path3) ){
$response['isSuccess'] = true;
$response['photo1'] = $path2;
$response['photo2'] = $path3;
}else{
$response['isSuccess'] = false;
}
echo json_encode($response);
?>數據庫表我就不貼了,存圖片地址,字段類型直接用字符型就可以了。
現在在介紹一下把圖片轉換成二進制直接存進數據庫的方法:
這里我沒有用ajax請求,直接用表單的post 請求提交數據
html代碼:
<form action="photo.php"> <span > </span><div class="pic"> <input type="file" name="photo" id="" title="文件不超過200kb,大小最佳為60*60" onchange="imgPreview(this)">上傳頭像 </div> </form>
php代碼:photo.php
<?php
require('conn.php');
$image = MySQL_real_escape_string(file_get_contents($_FILES['photo']['tmp_name']));
$sqlstr = "insert into user(photo) values('".$image."')";
@mysql_query($sqlstr) or die(mysql_error());
exit();
?>這樣就把圖片轉換成二進制并儲存進數據庫了。
“ajax如何上傳多圖到php服務器”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!
當前文章:ajax如何上傳多圖到php服務器
當前地址:http://www.yijiale78.com/article18/pjdogp.html
成都網站建設公司_創新互聯,為您提供企業建站、搜索引擎優化、用戶體驗、網站制作、標簽優化、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯