PHP一次从zip文件中提取一个文件

时间:2014-07-23 20:06:11

标签: php zip

我正在使用$zip->extractTo()来解压缩我的zip文件,这会创建一个包含其中所有文件的新文件夹,我只是想知道是否存在我可以一次提取一个文件并让它们在里面根文件夹,而不是为我创建一个文件夹?

$zip = new ZipArchive();
if ($zip->open($path) === true) {
    $zip->extractTo('../images/galleries/' . $galleryName);
    $zip->close();
}

1 个答案:

答案 0 :(得分:0)

您可以使用getFromNamegetFromIndex方法从单个文件中提取内容,然后写入磁盘。例如:

$zip = new ZipArchive;
$zip_filepath = '/path/to/zip/file';
$target_filepath = 'path/to/file/inside/zip';
$dest_filepath = '/path/to/extracted/file';

if ($zip->open($zip_filepath) === TRUE) {
  file_put_contents( $dest_filepath , $zip->getFromName( $target_filepath ) );
  $zip->close();
}