Heim  >  Artikel  >  Backend-Entwicklung  >  Das Laui-Framework implementiert das Hochladen von Dateien und TP3.2.3 (thinkPHP) führt Hintergrundverarbeitungsvorgänge für hochgeladene Dateien durch.

Das Laui-Framework implementiert das Hochladen von Dateien und TP3.2.3 (thinkPHP) führt Hintergrundverarbeitungsvorgänge für hochgeladene Dateien durch.

不言
不言Original
2018-06-01 09:30:532535Durchsuche

In diesem Artikel werden hauptsächlich das Laui-Framework zur Implementierung des Datei-Uploads und TP3.2.3 zur Durchführung von Hintergrundverarbeitungsvorgängen für hochgeladene Dateien vorgestellt. Er analysiert die zugehörigen Implementierungstechniken des Laui-Frameworks in Kombination mit thinkPHP für Datei-Upload- und -Verarbeitungsvorgänge in Form von Beispielen . Freunde, die es benötigen, können darauf verweisen.

Das Beispiel dieses Artikels beschreibt die Implementierung des Datei-Uploads durch das Laui-Framework und die Hintergrundverarbeitung der hochgeladenen Dateien durch TP3.2.3. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Das Laui-Framework ist Version 1.0.9. .

Erstens lautet der HTML-Seitencode wie folgt:

<p class="layui-form-item" id="upload_file">
     <p class="layui-input-block" style="width: 300px;">
      <input type="hidden" id="img_url1" name="HeadImageUrl" value=""/>
      <p class="layui-upload-drag" id="uploadpic1" lay-verify="uploadpic1">
        <p class="layui-col-xs12 layui-col-md12">
          <img class="layui-upload-img" id="demo1" >
        </p>
        <p class="button-hide">
          <input type="file" name="banner_file_upload" id="banner_file_upload" class="layui-uplaod-file"  lay-type="file">
        </p>
      </p>
    </p>
</p>

JS-Code lautet wie folgt:

<script type="text/javascript" th:inline="javascript">
     layui.use(&#39;upload&#39;, function (){
       var upload = layui.upload;
       var url="/Public";
       upload({
         elem: &#39;#banner_file_upload&#39;,
         url: "/index.php/Admin/Product/upload",
         method: &#39;post&#39;,
         before: function(obj){
           console.log(&#39;文件上传中&#39;);
           layer.load();
         },
         success: function (msg) {
           console.log(msg);
           if(msg.msg=="success"){
             layer.closeAll(&#39;loading&#39;);
             layer.msg("上传成功");
             $("#img_url1").attr("value", msg.src);
           }else if(msg.msg=="error"){
             layer.closeAll(&#39;loading&#39;);
             layer.msg(msg.code);
           }
         },
         error:function (data) {
           layer.msg("上传失败");
           console.log(data);
         }
       });
     });
</script>

Die nächste Methode zum Empfangen des Werts im PHP-Hintergrund:

#上传文件方法
public function upload(){
    $res=array(
     &#39;code&#39;=>1,
     &#39;msg&#39;=>&#39;no sorry&#39;,
      &#39;data&#39;=>array(
        &#39;src&#39;=>&#39;&#39;,
      )
    );
    #图片存放路径
    $directory = C(&#39;UPLOAD_PATH&#39;)."/Public/docment/";
    #判断目录是否存在 不存在则创建
    if(!(is_dir($directory))){
      $this->directory($directory);
    }
    #获取数据库最后一条id 当做文件名称
    $product_last_id=D(&#39;ApiProduct&#39;)->getLastId();
    $savename="ApiProduct_".time().&#39;_&#39;.($product_last_id[&#39;id&#39;]+1);
    $upload = new \Think\Upload();
    $upload->maxSize = 0;
    $upload->exts = array(&#39;doc&#39;,&#39;docx&#39;,&#39;xls&#39;,&#39;xlsx&#39;,&#39;pdf&#39;,&#39;txt&#39;);
    $upload->rootPath = $directory;
    $upload->saveName="$savename";
    $upload->savePath = &#39;&#39;;
    $info = $upload->uploadOne($_FILES[&#39;banner_file_upload&#39;]);
    if(!$info){
      $res[&#39;code&#39;]=$upload->getError();
      $res[&#39;msg&#39;]=&#39;error&#39;;
    }else{
      $res[&#39;code&#39;]=0;
      $res[&#39;msg&#39;]=&#39;success&#39;;
      $res[&#39;src&#39;]="/Public/docment/".$savename.".".$info[&#39;ext&#39;];
    }
   echo json_encode($res);die;
}
/**
* 递归创建文件
* @author erwa<erwa@qingjinju.net>
*/
public function directory($dir){
    return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777);
}

Das Obige ist das. Das ist alles für diesen Artikel, vielen Dank fürs Lesen. Weitere Informationen finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

layui implementiert Paging von dynamischen und statischen Datentabellen

Das obige ist der detaillierte Inhalt vonDas Laui-Framework implementiert das Hochladen von Dateien und TP3.2.3 (thinkPHP) führt Hintergrundverarbeitungsvorgänge für hochgeladene Dateien durch.. 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