无法查看使用php的ZipArchive函数创建的Zip(但有内存)内的文件
<?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对象并获得以下响应: Status Zero解释了创建zip时没有错误(参考:http://www.php.net/manual/en/zip.constants.php) 我推荐过帖子: 第三个帮助了我最多,另外两个我获得了23的状态. 问题:我能够创建一个zip&没有问题下载它,但当我打开zip我没有看到任何文件内,但zip有内存在mbs. 请帮帮我… 更新:由于print_r / echo和/或尝试覆盖相同的文件而发生错误23. Update2:问题解决了.这是由于RecursiveDirectoryIterator中的路径(即../uploads/),一旦我将代码移动到主文件夹并将路径更改为(uploads /),所有内容都开始正常工作.荣誉! 解决方法
这是由于RecursiveDirectoryIterator中的路径(即../uploads/),所有内容都开始正常工作.荣誉!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |