ホームページ  >  記事  >  バックエンド開発  >  更新せずに画像をアップロードするためにphp+ajaxを実装する方法

更新せずに画像をアップロードするためにphp+ajaxを実装する方法

墨辰丷
墨辰丷オリジナル
2018-05-29 17:27:241326ブラウズ

この記事では主に、更新せずに画像をアップロードする php+ajax の実装方法を紹介します。これには、ファイル転送操作のための php と ajax の組み合わせの関連スキルが含まれます。必要な方は参考にしてください。

詳細は次のとおりです。ファイルを導入します

<!--图片上传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パート

<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. fileuploadにフォームを追加します

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

4.ajaxファイルアップロード

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. バックグラウンド処理

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. 返されたデータを処理のためにフロントエンドに渡します。

次に、それをバックエンドデータベースに送信します。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。


関連する推奨事項:

think

PHP

によって実装された検証コードログイン関数 Thinkphp


think

PHP5で実装されたクエリデータベースとreturn j息子データの例

以上が更新せずに画像をアップロードするためにphp+ajaxを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。