jQuery加PHP實(shí)現(xiàn)圖片上傳并提交的示例代碼
圖片上傳思路:通過(guò)ajax實(shí)現(xiàn)圖片上傳,然后把PHP返回的圖片地址,加入到隱藏字段中,最后通過(guò)表單提交給后臺(tái)PHP,代碼如下
HTML代碼 zimg.html文件:
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>自定義上傳圖片</title></head><body> <form action='a.php?action=2' method='post'> <span> 上傳圖片 </span> <span> <input type='file' name='img_url' accept='.jpg, .gif, .jpeg, .bmp, .png'/> <a onclick='UpLoadImg()'>上傳</a> <input type='hidden' name='url_data'/> </span> <br> <span> <input type='submit' value='提交'> </span> </form> </body><!-- 引入jq --><script src='https://code.jquery.com/jquery-3.0.0.min.js'></script><script> function UpLoadImg(){ //獲取上傳文件 var formData = new FormData(); formData.append(’img_url’, $(’#img_url’)[0].files[0]); console.log(formData) //提交后臺(tái)處理 $.ajax({ url: ’a.php?action=1’, type: ’POST’, cache: false, data: formData, dataType: 'JSON', processData: false, contentType: false }).done(function(res) { console.log(res.url); if(res.status == 1){//賦值給字段$(’#url_data’).val(res.url);alert(res.msg) }else{alert(res.msg) } }).fail(function(res) { }); }</script></html>
后臺(tái)PHP代碼 a.php:
<?phpif($_GET[’action’] == 1){//上傳圖片接口 $img = $_FILES[’img_url’]; //獲取上圖片后綴 $type = strstr($img[’name’], ’.’); $rand = rand(1000, 9999); //命名圖片名稱 $pics = date('YmdHis') . $rand . $type; //上傳路徑 $pic_path = 'img/'. $pics; //移動(dòng)到指定目錄,上傳圖片 $res = move_uploaded_file($img[’tmp_name’], $pic_path); if($res){ echo json_encode([’status’ => 1, ’msg’ => ’上傳成功’,’url’ => $pic_path]);exit; }else{ echo json_encode([’status’ => 0, ’msg’ => ’上傳失敗’]);exit; }}elseif($_GET[’action’] == 2){//提交文件表單 echo ’<pre>’; var_dump($_POST);}
最后實(shí)現(xiàn)效果如下:
ps:js代碼是使用jQuery的寫法,需引入jQuery代碼庫(kù)文件
以上就是jQuery加PHP實(shí)現(xiàn)圖片上傳并提交的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于jQuery加PHP實(shí)現(xiàn)圖片上傳的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Python安裝并操作redis實(shí)現(xiàn)流程詳解2. 部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)3. Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程4. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過(guò)程5. 如何用 Python 制作一個(gè)迷宮游戲6. vue組件庫(kù)的在線主題編輯器的實(shí)現(xiàn)思路7. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟8. AJAX實(shí)現(xiàn)數(shù)據(jù)的增刪改查操作詳解【java后臺(tái)】9. 網(wǎng)頁(yè)中img圖片使用css實(shí)現(xiàn)等比例自動(dòng)縮放不變形(代碼已測(cè)試)10. JavaScript實(shí)現(xiàn)組件化和模塊化方法詳解
