ajaxアップロードファイルphpバックグラウンド処理


ヒント:最初のブログは、普段書いているコードを記録します~~~
文書ディレクトリ
  • 一、jqueryを導入する.js
  • 二、先端
  • 1.html
  • 2.javascript
  • 2.バックグラウンドデータ処理
  • まとめ
  • ヒント:以下はこの文章の本文の内容で、以下のケースは参考にすることができます
    一、jqueryを導入する.js
    <script src="/static/vender/jquery.js"></script>
    

    ここではjqueryダウンロードアドレスを提供します.https://jquery.com/download/
    二、先端
    1.html
    <form type="post" action="/index.php/user/test" id="forms">
        <div>
            <label></label>
            <input type="text" value="" name="name" placeholder="    " id="name">
        </div>
        <div>
            <label>  </label>
            <input type="file" name="file" id="file">
        </div>
        <div>
            <input type="submit" value="  " >
        </div>
    </form>
    

    2.javascript
    $("#forms").submit(function(){
         
            var formData = new FormData();
            if($('#file').val()==null){
         
                alert("     ");
                return false;
            }
            formData.append('url',$('#file')[0].files[0]); //  
            formData.append('name',$('#name').val());//  
            $.ajax({
         
                url:"/index.php/user/doTest",
                type:"POST",
                contentType:false,
                data:formData,
                cache: false, //         
                processData: false //   jQuery          
            });
            return false;  //    
        });
    

    2.バックグラウンドデータ処理
     public function doTest(){
         
            $file = $this->request->file('url'); //          
            dump($file)
            $param = $this->request->param();
            $name = $param['name'];
    
        }
    

    このときf 12はネットワークパネルに切り替えてデバッグできます
     public function doTest(){
         
            $file = $this->request->file('url'); //          
            $param = $this->request->param();
            $name = $param['name'];
            $saveUrl = Filesystem::disk('photo')->putFile("topic",$file);  //    ,    tp  
            $saveUrl="/uploads/".$saveUrl; //      
            $data = [];
            $data['name'] = $name;
            $data['url'] = $saveUrl;
            die(json_encode($data));
        }
    

    まとめ
    第一篇博客これで终わります~~まとめてみます:1.私はjquery ajaxで書いたのでjqueryプラグインを導入する必要があります.ajax非同期を利用するにはFormDataオブジェクトを使用しappendで3を挿入する必要がある.バックグラウンドでデータを受信直接paramではなくfileが必要な場合