Maison  >  Article  >  développement back-end  >  Exemple de code de téléchargement par lots d'images et de fichiers Thinkphp

Exemple de code de téléchargement par lots d'images et de fichiers Thinkphp

不言
不言original
2018-08-04 14:06:123796parcourir

Cet article vous apporte des exemples de code sur le téléchargement par lots d'images et de fichiers Thinkphp. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

//批量下载图片
    public function download_img_all(){
        $dfile = tempnam('./public/upload/qr_code/', 'tmp');//产生一个临时文件,用于缓存下载文件
        $zip = new Zipfile();
        $filename = 'erweima'.'.zip'; //下载的默认文件名
        // $image  = M('Device')->field('erweima')->select();
        // foreach($image as $v){
        //     $image_path = './public/upload/qr_code/';方法一
        //      $zip->add_path($image_path);
        //      // $zip->add_file(file_get_contents($v['erweima']), $v['erweima']);
        //      // 添加打包的图片,第一个参数是图片内容,第二个参数是压缩包里面的显示的名称, 可包含路径
        //      // 或是想打包整个目录 用 
        // }
        $image_path = './public/upload/qr_code/';//方法二
        $zip->add_path($image_path);
        $zip->output($dfile);
  // 下载文件
        ob_clean();
        header('Pragma: public');
        header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
        header('Cache-Control:no-store, no-cache, must-revalidate');
        header('Cache-Control:pre-check=0, post-check=0, max-age=0');
        header('Content-Transfer-Encoding:binary');
        header('Content-Encoding:none');
        header('Content-type:multipart/form-data');
        header('Content-Disposition:attachment; filename="'.$filename.'"'); //设置下载的默认文件名
        header('Content-length:'. filesize($dfile));
        $fp = fopen($dfile, 'r');
        while(connection_status() == 0 && $buf = @fread($fp, 8192)){
         echo $buf;
        }
        fclose($fp);
        @unlink($dfile);
        @flush();
        @ob_flush();
        exit();
    }

Articles connexes recommandés :

Comment PHP décompresse-t-il le fichier du package compressé dans un répertoire spécifié (code pur)

Exemple de code montrant comment supprimer un répertoire et tous les fichiers du répertoire en php

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!

Déclaration:
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