Das Layui-Framework implementiert das Hochladen von Dateien und ein Beispiel für einen TP3.2.3-Hintergrundverarbeitungsvorgang für hochgeladene Dateien

jacklove
Freigeben: 2023-04-01 18:54:01
Original
3339 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Die nächste Methode zum Empfangen von Werten aus dem 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);
}
Nach dem Login kopieren

Artikel, die Sie interessieren könnten:

Das Laravel-Framework implementiert ein Beispiel für das Hinzufügen, Löschen, Ändern und Überprüfen von Vorgängen auf der Modellebene

ThinkPHP Framework implementiert ein Beispiel für den Export von Excel-Daten

Native JS implementiert Ajax für die Interaktion mit PHP über die POST-Methode. Beispiel für PHP-Kenntnisse

Das obige ist der detaillierte Inhalt vonDas Layui-Framework implementiert das Hochladen von Dateien und ein Beispiel für einen TP3.2.3-Hintergrundverarbeitungsvorgang für hochgeladene Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage