Dieser Artikel zeigt Ihnen hauptsächlich ein Beispiel für das asynchrone Hochladen von Avataren mit Ajax und PHP. Ich hoffe, es kann Ihnen helfen.
Effekt-Screenshot:
Seite hochladen
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> </head> <body> 头像:<img id="avatar" src="" height="35" width="35" alt=""><br /> 选择文件:<input type="file" id="file1" /><br /> <input type="button" id="upload" value="上传" /> <span id="result"></span> <img src="5fd411e985d2c939b90e2dfb.gif" height="100" width="100" style="display:none" id="imgWait" /> <script src="jquery-1.11.2.min.js"></script> <script> $(function () { $("#upload").click(function () { $("#imgWait").show(); var formData = new FormData(); formData.append("myfile", document.getElementById("file1").files[0]); $.ajax({ url: "upload.php", type: "POST", dataType: 'json', data: formData, /** *必须false才会自动加上正确的Content-Type,否则会执行error步骤 */ contentType: false, /** * 必须false才会避开jQuery对 formdata 的默认处理,否则会报Uncaught TypeError: Illegal invocation * XMLHttpRequest会对 formdata 进行正确的处理 */ processData: false, success: function (data) { if(data.code == 200){ $('#avatar').attr('src',data.datas.filename); } $('#result').html(data.msg); $("#imgWait").hide(); setTimeout(function(){ $('#result').html(''); }, 1200); }, error: function () { alert("上传失败!"); $("#imgWait").hide(); } }); }); }); </script> </body> </html>
Backend-Code:
<?php $tmp_name = $_FILES['myfile']['tmp_name']; $current_time = date("Y-m-d H-i-s"); if(is_uploaded_file($tmp_name)){ $filename = './'.$current_time.'.jpg'; $return = move_uploaded_file($tmp_name,$filename); $return ? output('200','上传成功!',['filename' => $filename]) : output('400','上传失败!'); }else{ output('555','非法文件!'); } function output($code,$msg,$datas = array()){ $outputData = array( 'code' => $code, 'msg' => $msg, 'datas' => $datas ); exit(json_encode($outputData)); }
Verwandte Empfehlungen:
Angularjs verwendet $http, um Excel-Dateien asynchron zum Teilen hochzuladen
So implementieren Sie den asynchronen Datei-Upload in HTML
PHP und Ajax implementieren das asynchrone Hochladen von Dateien oder das Teilen von Bildcode
Das obige ist der detaillierte Inhalt vonAjax und PHP implementieren das asynchrone Hochladen von Avataren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!