PHP下载图片

    /**
     * 图片下载,压缩包形式
     */
    public function downloadPoster()
    {
        //$images格式为  '1.png','2.png'
        $title = input('title');//图片
        $images = explode(',',$title);
        $strDir = Uploader::getSaveDir();
        //批量下载图片
        //$images的格式为$images=array('xxxx.jpg','yyyy.jpg');可以根据需要自己修改
        $filename = $strDir . date ( 'YmdHis' ) . ".zip";
        // 生成文件
        $zip = new \ZipArchive ();
        // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
        if ($zip->open ($filename ,\ZipArchive::OVERWRITE) !== true) {
            //OVERWRITE 参数会覆写压缩包的文件 文件必须已经存在
            if($zip->open ($filename ,\ZipArchive::CREATE) !== true){
                // 文件不存在则生成一个新的文件 用CREATE打开文件会追加内容至zip
                exit ( '无法打开文件,或者文件创建失败' );
            }
        }
        foreach($images as $key => $v){
            $v = $strDir.$v.'.png';
            $zip->addFile($v,basename($v));
        }
        // 关闭
        $zip->close ();
        //下面是输出下载;
        header ( "Cache-Control: max-age=0" );
        header ( "Content-Description: File Transfer" );
        header ( 'Content-disposition: attachment; filename=' . basename ( $filename ) ); // 文件名
        header ( "Content-Type: application/zip" ); // zip格式的
        header ( "Content-Transfer-Encoding: binary" ); // 告诉浏览器,这是二进制文件
        header ( 'Content-Length: ' . filesize ( $filename ) ); // 告诉浏览器,文件大小
        @readfile ( $filename );//输出文件;
        @unlink($filename);
        exit;
    }

    /**
     * 图片下载,单张图片形式
     */
    public function downloadOnePic()
    {
        //格式 $save_filename为下载后的命名 $filename为下载的图片地址
        header("Content-Disposition:attachment;filename=".$save_filename);
        readfile($filename);
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值