我正在尝试使用php创建一个zip文件(确实如此-从此页面获取-http://davidwalsh.name/create-zip-
php
),但是zip文件中的所有文件夹名称都是文件本身。
可以将zip文件中的文件减去所有文件夹吗?
这是我的代码:
function create_zip($files = array(), $destination = '', $overwrite = true) {
if(file_exists($destination) && !$overwrite) { return false; };
$valid_files = array();
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
};
};
};
if(count($valid_files)) {
$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
};
foreach($valid_files as $file) {
$zip->addFile($file,$file);
};
$zip->close();
return file_exists($destination);
} else {
return false;
};
};
$files_to_zip = array('/media/138/file_01.jpg','/media/138/file_01.jpg','/media/138/file_01.jpg');
$result = create_zip($files_to_zip,'/...full_site_path.../downloads/138/138_files.zip');
这里的问题$zip->addFile
是要传递相同的两个参数。
根据文档:
bool ZipArchive :: addFile (字符串 $ filename [,字符串 $ localname ])
filename
要添加的 文件 的路径。ZIP档案中的 localname 本地名称。
这意味着第一个参数是文件系统中实际文件的路径,第二个参数是文件在存档中将具有的路径和文件名。
提供第二个参数时,将其添加到zip归档文件时,您将希望从中删除路径。例如,在基于Unix的系统上,这看起来像:
$new_filename = substr($file,strrpos($file,'/') + 1);
$zip->addFile($file,$new_filename);
问题内容: 我正在尝试将 文件 从 一个文件夹 保存到 另一个 文件夹 。 zip文件夹 放置在其他目录中。而且我编写了以下代码: archive.php 但是可惜我无法创建.zip文件夹。我错过了任何一步吗? 问题答案: TEST是您的项目文件夹名称。 您可以根据需要定义路径。
我试图在ZIP文件内创建一个ZIP文件,以重新构建以前在内存中的zip结构,我在Java。 我失败了,因为我得到了一个错误的内部ZIP内创建的初始ZIP文件。文件已损坏。当试图打开它时,我得到一个“文件的意外结局”。 我得到了这个结构: -input.zip--InnerInput.zip 代码使用java Stack和Map在内存中解压。然后它创建input2.zip,内部nput.zip。 总
我有一个多模块Maven projet,我想构建一个包含所有要在生产服务器上交付的文件的zip文件,这意味着一个war文件和一堆shell脚本。 这里是我父母pom的一些摘录。xml: war文件在eloi web项目中生成。所以我有一个问题,因为父母是pom。xml是首先执行的,所以我实际上得到了我的zip文件,但是在构建之前,使用了war文件的旧版本,如果我先清理,它就会崩溃。我不知道如何解决
如何在Pharo中创建zip文件并将其写入磁盘? 同样,/也是不可用的,因为该实现只能在实际磁盘上工作,而不能在内存中工作。 那么,是否有其他方法(或外部库),我可以压缩我的数据,而不需要转储所有文件到磁盘,压缩到那里,并读取最后的文件回来?
本文向大家介绍Java中创建ZIP文件的方法,包括了Java中创建ZIP文件的方法的使用技巧和注意事项,需要的朋友参考一下 java创建zip文件的代码如下如下: 补充:下面看下JAVA中创建ZIP文件,并向ZIP文件中写入并读取条目和数据 总结 以上所述是小编给大家介绍的Java中创建ZIP文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐
问题内容: 我有多个包含不同类型的txt文件的zip文件。如下所示: 如何使用pandas读取每个文件而不提取它们? 我知道每个zip文件是否为1个文件,我可以对read_csv使用压缩方法,如下所示: 任何有关如何执行此操作的帮助都将非常有用。 问题答案: 你可以传递到构建从包装成一个多文件一个CSV文件。 码: 将所有内容读入字典的示例: