加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

无法查看使用php的ZipArchive函数创建的Zip(但有内存)内的文件

发布时间:2020-12-13 22:46:56 所属栏目:PHP教程 来源:网络整理
导读:?php $error = ""; $file_folder = "temp/"; // folder to load files if (extension_loaded('zip')) { // Checking ZIP extension is available $zip = new ZipArchive(); // Load zip library $zip_name = "images_".date("d-m-Y") . ".zip"; // Zip name
<?php
       $error = "";
       $file_folder = "temp/";
        // folder to load files
 if (extension_loaded('zip')) {
    // Checking ZIP extension is available
    $zip = new ZipArchive();
    // Load zip library
    $zip_name = "images_".date("d-m-Y") . ".zip";
    // Zip name
    if ($zip -> open($zip_name,ZIPARCHIVE::CREATE) !== TRUE) {
        // Opening zip file to load files
        $error .= "* Sorry ZIP creation failed at this time";
    }
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("../uploads/"));
    $files = iterator_to_array($iterator,true);

    foreach ($iterator as $file) {
        $zip -> addFile($file_folder . $file);
        // Adding files into zip
    }
    print_r($zip);
    //echo $zip_name;
    if (file_exists($file_folder.$zip_name)) {
        // push to download the zip
        header('Content-type: application/zip');
        header('Content-Disposition: attachment; filename="' . $zip_name . '"');
        readfile($zip_name);
        // remove zip file is exists in temp path
        unlink($zip_name);
    } else {
        echo "error";
    }

    $zip -> close();
//} else
//  $error .= "* Please select file to zip ";
 } else
$error .= "* You dont have ZIP extension";

?>

我已经尝试输出$zip对象并获得以下响应:
ZipArchive对象([status] => 0 [statusSys] => 0 [numFiles] => 12 [filename] => /var/www/bigb/ajax/images_24-12-2012.zip [comment] = >)

Status Zero解释了创建zip时没有错误(参考:http://www.php.net/manual/en/zip.constants.php)

我推荐过帖子:
1)Download all images from a single directory of a website
2)How to create a zip file using php and delete it after user downloads it?
3)http://www.9lessons.info/2012/06/creating-zip-file-with-php.html

第三个帮助了我最多,另外两个我获得了23的状态.

问题:我能够创建一个zip&没有问题下载它,但当我打开zip我没有看到任何文件内,但zip有内存在mbs.

请帮帮我…

更新:由于print_r / echo和/或尝试覆盖相同的文件而发生错误23.

Update2:问题解决了.这是由于RecursiveDirectoryIterator中的路径(即../uploads/),一旦我将代码移动到主文件夹并将路径更改为(uploads /),所有内容都开始正常工作.荣誉!

解决方法

这是由于RecursiveDirectoryIterator中的路径(即../uploads/),所有内容都开始正常工作.荣誉!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读