Maison > développement back-end > tutoriel php > Le framework layui implémente le téléchargement de fichiers et TP3.2.3 (thinkPHP) effectue des opérations de traitement en arrière-plan sur les fichiers téléchargés.

Le framework layui implémente le téléchargement de fichiers et TP3.2.3 (thinkPHP) effectue des opérations de traitement en arrière-plan sur les fichiers téléchargés.

不言
Libérer: 2023-03-28 20:06:02
original
2572 Les gens l'ont consulté

Cet article présente principalement le framework layui pour implémenter le téléchargement de fichiers et TP3.2.3 pour effectuer des opérations de traitement en arrière-plan sur les fichiers téléchargés. Il analyse les techniques d'implémentation associées du framework layui combinées avec thinkPHP pour les opérations de téléchargement et de traitement de fichiers sous forme d'exemples. .Les amis qui en ont besoin peuvent s'y référer. Suivant

L'exemple de cet article décrit la mise en œuvre du téléchargement de fichiers par le framework layui et l'opération de traitement en arrière-plan des fichiers téléchargés par TP3.2.3. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Le framework layui est la version 1.0.9. .

Tout d'abord, le code de la page html est le suivant :

<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>
Copier après la connexion

Le code js est le suivant :

<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>
Copier après la connexion

La méthode suivante pour recevoir la valeur dans le php contexte :

#上传文件方法
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);
}
Copier après la connexion

Ce qui précède représente l'intégralité du contenu de cet article, merci d'avoir lu. Veuillez prêter attention au site Web PHP chinois pour plus d'informations !

Recommandations associées :

layui implémente la pagination de tables de données dynamiques et statiques

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal