【用PHP实现上传的ZIP文件的解压转_PHP教程】教程文章相关的互联网学习教程文章

使用PHP打开和创建受密码保护的zip文件【代码】

我找到了以下两个命令来分别创建和打开受密码保护的zip文件.然而,我想知道是否可以在纯PHP中执行此操作echo system('zip -P password file.zip file.txt'); echo shell_exec('unzip -P password file.zip');解决方法:您可以使用某些库(如PclZip)创建简单文件zip,但不能使用密码创建zip.

如何从PHP应用程序中提取受密码保护的.zip文件?【代码】

如何从PHP应用程序中提取受密码保护的.zip文件?解决方法:你可以使用它(假设你的服务器有“正确”的os :-))echo shell_exec('unzip -P password file.zip');

php – 将zip文件解压缩到文件夹的根目录?【代码】

我有一个zip文件上传到服务器进行自动提取. zip文件结构如下:/zip_file.zip/folder1/image1.jpg /zip_file.zip/folder1/image2.jpg /zip_file.zip/folder1/image3.jpg目前我有这个功能来提取所有扩展为jpg的文件:$zip = new ZipArchive();if( $zip->open($file_path) ){$files = array();for( $i = 0; $i < $zip->numFiles; $i++){$entry = $zip->statIndex($i);// is it an image? if( $entry['size'] > 0 && preg_match('#\.(...

PHP在创建大型.zip文件时中止

我的php脚本使用ZipArchive()运行在CentOS 5.6和PHP 5.2.12上,并成功创建了超过1.6Gb的.zip文件,但没有更大的2GB或更大的存档 – PHP中止没有明显的错误. PHP错误日志或stderr中没有任何内容.该脚本正在cmd行执行,而不是以交互方式执行. 该脚本运行大约8分钟,临时存档增长,在检查文件大小时,最后一个列表显示tmp文件大小为2120011776,然后tmp文件消失,PHP脚本通过逻辑运行并在存档创建后执行代码. 由于某种原因,顶部显示CPU仍然处...

如何使用PHP创建ZIP文件并在用户下载后删除它?

我需要从其他网站下载图像到我的服务器.使用这些图像创建ZIP文件.自动开始下载创建的ZIP文件.下载完成后,应从我的服务器中删除ZIP文件和图像. 而不是自动下载,下载链接也没关系.但其他逻辑仍然相同.解决方法:那么,您必须首先使用ZipArchive类创建zip文件. 然后,发送: >正确的标题,向浏览器指示它应该下载一些拉链 – 见标题() – 该手册的页面上有一个例子应该有帮助> zip文件的内容,使用readfile() 最后,使用unlink()从服务器中删...

下载.zip文件运行损坏的文件php【代码】

我正试图强制下载受保护的zip文件(我不希望人们在没有先登录的情况下访问它. 我有为登录创建的功能等,但我遇到了下载文件损坏的问题. 这是我的代码:$file='../downloads/'.$filename; header("Content-type: application/zip;\n"); header("Content-Transfer-Encoding: Binary"); header("Content-length: ".filesize($file).";\n"); header("Content-disposition: attachment; filename=\"".basename($file)."\""); readfile("$f...

PHP – zip文件子目录中文件的file_get_contents()【代码】

我有一个.zip文件,里面有多个子目录和文件.如何使用file_get_contents()来获取zip文件的一个子目录中的文件内容?解决方法:如果您已安装Zip扩展程序,则应已注册zip:// compression wrapper.请尝试以下操作:$result = file_get_contents('zip://path_to_my.zip#subDir/foo.txt');

php – 避免使用zip文件内容的绝对路径名【代码】

我在用PHP写作.我有以下代码:$folder_to_zip = "/var/www/html/zip/folder"; $zip_file_location = "/var/www/html/zip/archive.zip"; $exec = "zip -r $zip_file_location '$folder_to_zip'";exec($exec);我希望将zip文件存储在/var/www/html/zip/archive.zip中,但是当我打开该zip文件时,整个服务器路径都在zip文件中.如何编写此代码以使服务器路径不在zip文件中? 运行此命令的脚本不在同一目录中.它位于/var/www/html/zipfold...

在php中创建zip文件并在添加之前重命名每个文件【代码】

我使用下面的代码来创建mp3的zip.我能够成功创建zip.但是如何在制作zip之前重命名每个文件…# define file array$files = array('http://google.com/images/logo.png','http://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Wikipedia-logo-en- big.png/220px-Wikipedia-logo-en-big.png');# create new zip opbject$zip = new ZipArchive();# create a temp file & open it$tmp_file = tempnam('.','');$zip->...

我如何在没有PHP提取的情况下打开zip文件中的文件【代码】

我只想制作一个可以在zip存档中打开文件的系统就像我有archive.zip在这个file.text中我想做一个课程来制作这个页面?zip.php归档= archive.zip和放大器;文件= file.text我希望这个页面向我展示file.text内容有任何想法吗?解决方法:从PHP手册:ZipArchive::getFromName().这正是您所需要的.<?php $z = new ZipArchive(); if ($z->open(dirname(__FILE__) . '/test_im.zip')) {$string = $z->getFromName("mytext.txt");echo $strin...

我可以在PHP中包含zip文件吗?【代码】

我可以在PHP中包含zip文件中的文件吗?例如,我认为我有一个zip文件 – test.zip和test.zip包含一个名为a.php的文件.现在,我想做的是下面的事情, 包括“test.zip/a.php”; 这可能吗?如果可以,任何人都可以提供我的代码片段?如果没有,还有其他任何替代方法吗?解决方法: $zip = new ZipArchive('test.zip');$tmp = tmpfile(); $metadata = stream_get_meta_data($tmp);file_put_content($metadata['uri'], $zip->getFromName('a.p...

php – ZIP文件被IE损坏【代码】

我使用PHP循环以64k块提供ZIP文件(但任何服务器端语言都会出现问题). 使用FF获取文件时,一切都很顺利. 使用IE7获取文件时,某些位会被破坏.这导致关于错误CRC(散列)的错误消息,并且一些解压缩的文件最终被破坏. 要发送的标头如下:Expires: 0 Cache-Control: must-revalidate, post-check=0, pre-check=0 Pragma: public Content-Description: File Transfer Content-Disposition: attachment; filename="671fb8f80f5e94984c59e61c3...

使用PHP从ZIP文件中删除空目录【代码】

PHP带来了class for ZIP file manipulation.它还允许使用addEmptyDir()创建目录并删除带有deleteName()的条目.但删除不适用于目录(空或不).有没有办法删除ZIP文件中的空文件夹(首选是buildin PHP功能)?解决方法:您需要附加一个/到目录名称.所以,像这样的工作:<?php$zip = new ZipArchive;if ($zip->open('test.zip') === TRUE) {$zip->deleteName('testDir/');$zip->close();} ?>所以,testDir /对testDir ….

php – 如何在从zip文件解压缩到特定位置之前检查文件夹是否已存在?【代码】

$zipfile = 'zipfilename'; $extractpath= 'C:\extract';$zip = new ZipArchive(); if ($zip->open($zipfile) !== TRUE) {die ("Could not open archive"); } // extract contents to destination directory $zip->extractTo($extractpath);如果已经存在,如何避免覆盖文件夹?解决方法: $extractpath = '/somewhere/someplace/'; if (is_dir($extractpath) AND file_exists($extractpath)) {// Path exists }更新Actually I want ...

PHP无法访问新创建的zip文件【代码】

我使用Laravel 5.2和Zipper来创建ZIP存档并由用户下载.我认为这个问题通常与Laravel或Zipper没有严格的关系.脚步: >用户点击链接download_all.>第一个php脚本创建存档.>接下来,相同的脚本推送创建的文件以强制用户下载. 一切听起来都很正常,但我有奇怪的行为,创建zip存档后(第2点)php / server无法看到这个新创建的文件.$filePath上的filesize和file_exists都返回false但文件存在.我不能读文件为什么? 当我将用户重定向到$filePa...