Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie PHP+Ajax, um Bilder ohne Aktualisierung hochzuladen

So implementieren Sie PHP+Ajax, um Bilder ohne Aktualisierung hochzuladen

墨辰丷
墨辰丷Original
2018-05-29 17:27:241326Durchsuche

In diesem Artikel wird hauptsächlich die Implementierungsmethode für das Hochladen von Bildern mit PHP + Ajax ohne Aktualisierung vorgestellt. Dabei werden die entsprechenden Fähigkeiten von PHP in Kombination mit Ajax für Dateiübertragungsvorgänge berücksichtigt.

Die Details sind wie folgt :

1. Importieren Sie die Datei

<!--图片上传begin-->
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/uploadImg.js"></script>
<link href="/css/uploadImg.css" rel="stylesheet" type="text/css" />
<!--图片上传end-->

2.html Teil

<p class="upimg">
<input name="icon" type="text" class="imgsrc" value="<!--{$contents.icon}-->" />
<p class="showimg">
<!--{if $contents.icon}-->
<img src="<!--{$contents.icon}-->" height="120px">
<!--{/if}-->
</p>
<p class="btn" style="height:20px;">
  <span>添加图片</span>
  <input class="fileupload" type="file" name="pic[]">
</p>
</p>

3. Fügen Sie ein Formular zum Datei-Upload hinzu

/*图片上传*/
$(".fileupload").wrap("<form action=&#39;/bookstore/book/uploadpic&#39; method=&#39;post&#39; enctype=&#39;multipart/form-data&#39;></form>"); //函数处理

4.ajax-Datei-Upload

jQuery(function ($) {
  $(".fileupload").change(function(){ //选择文件
    if (&#39;&#39; === $(this).val()) return;
    var upimg = $(this).parent().parent().parent();
    var showimg = upimg.find(&#39;.showimg&#39;);
    var btn = upimg.find(&#39;.btn span&#39;);
    var imgsrc = upimg.find(&#39;.imgsrc&#39;);
    $(this).parent().ajaxSubmit({
      //dataType: &#39;json&#39;, //数据格式为json
      beforeSend: function() { //开始上传
        showimg.empty(); //清空显示的图片
        imgsrc.val("");
        btn.html("上传中..."); //上传按钮显示上传中
      },
      uploadProgress: function(event, position, total, percentComplete) {
      },
      success: function(data) { //成功
        //获得后台返回的json数据,显示文件名,大小,以及删除按钮
        var img = data;
        //显示上传后的图片
        imgsrc.val("");
        imgsrc.val(img);
        showimg.html("<img width=&#39;120&#39; height=&#39;120&#39; src=&#39;"+img+"&#39;>");
        btn.html("上传成功"); //上传按钮还原
      },
      error:function(xhr){ //上传失败
        btn.html("上传失败");
      }
    });
  });
});

5. Verarbeitung im Hintergrund

public function uploadpicAction(){ //图片上传和显示
    $data = "";
    $src = $this->uploadFiles2($imgpath = "/upload/book" ,$filesname = "pic");
    isset($src[0][&#39;src&#39;]) && $src[0][&#39;src&#39;] ? $data = $this->concaturl($src[0][&#39;src&#39;]) : null;
    echo $data;
}

6. Übergeben Sie die zurückgegebenen Daten zur Verarbeitung an das Frontend.

und senden Sie es dann an die Backend-Datenbank.

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.


Verwandte Empfehlungen:

thinkBestätigungscode-Anmeldefunktion implementiert durch PHP

Verwendung des Volist-Tags in Thinkphp

thinkPHP5 implementierte Abfragedatenbank und Rückgabe einer JSON-Dateninstanz

Das obige ist der detaillierte Inhalt vonSo implementieren Sie PHP+Ajax, um Bilder ohne Aktualisierung hochzuladen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn