douweng9427 2014-01-04 06:36
浏览 47
已采纳

如何创建和下载没有路径目录的zip文件[重复]

This question already has an answer here:

My code creates a ZIP file and downloads it in this ZIP folder some images exist.

It’s done well but problem is that after I download and extract this folder then all path folder also become my code is:

$id         = $row['id'];
$doc_name   = $row['doc_name'];
$file_names = explode(',',$doc_name);
$file_path  = $_ROOT_REQUIRE."uploads/document/";
$archive_file_name = "demo.zip";
$zip        = new ZipArchive($archive_file_name);
if ($zip->open($archive_file_name, ZIPARCHIVE::CREATE ) !== TRUE) {
    echo "cannot open <$archive_file_name>
";
    exit("cannot open <$archive_file_name>
");
}
foreach ($file_names as $files) {
    if ($files !== '') {
        $zip->addFile("$files", basename($files));
    }
} 
$zip->close();
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="'.basename($archive_file_name).'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($archive_file_name));
header('Cache-Control: private');
ob_clean();
flush();
readfile(basename($archive_file_name));
exit;
</div>
  • 写回答

3条回答 默认 最新

  • dos71253 2014-01-04 06:49
    关注

    Your Code look's is Fine. Just Replace Your Foreach Loop .

    foreach ($files as $file)
    {
        $file = str_replace('\\', '/', $file);          
        if(filetype($file) == 'file') {         
            $zip->addFile( $file, pathinfo( $file, PATHINFO_BASENAME ) );
        }
    }
    

    it should be work Thanks

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教