php 获取zip包文件内容
获取压缩包文件列表
$zip = new \ZipArchive();
$filename = "*******.zip";//文件路径
if ($zip->open($filename) !== TRUE) {
return '文件格式错误';
}
$filrname = array();
// 压缩包里面有多个文件的情况
for($i=0; $i<$zip->numFiles; $i++){
//$zip->numFiles 获取压缩包内文件个数(父级)
//$zip->getNameIndex($i) 获取压缩包文件名
$filrname[] = $zip->getNameIndex($i);
}
// 关闭
$zip->close();
print_r($filrname);
解压 压缩包到指定位置
$dirPath = "***/***/";//解压后的文件地址
$zip = new \ZipArchive();
$filename = "*******.zip";//文件路径
if ($zip->open($filename) !== TRUE) {
echo '文件格式错误';die;
}
$filrname = array();
// 压缩包里面有多个文件的情况
for($i=0; $i<$zip->numFiles; $i++){
//$zip->numFiles 获取压缩包内文件个数(父级)
//$zip->getNameIndex($i) 获取压缩包文件名
// 解压缩到某个位置
$zip->extractTo($dirPath, $zip->getNameIndex($i));
}
// 关闭
$zip->close();
读取文件内容
$zip = new \ZipArchive();
$filename = "*******.zip";//文件路径
if ($zip->open($filename) !== TRUE) {
echo '文件格式错误';die;
}
$filrname = array();
// 压缩包里面有多个文件的情况
for($i=0; $i<$zip->numFiles; $i++){
//$zip->numFiles 获取压缩包内文件个数(父级)
//$zip->getNameIndex($i) 获取压缩包文件名
$filrname[] = $zip->getNameIndex($i);
$fp = $zip->getStream($zip->getNameIndex($i));
if (!$fp) exit("failed\n");
while (!feof($fp)) {
$contents .= fread($fp, 2);
}
}
// 关闭
$zip->close();
print_r($contents);
简单记录,如有侵权请私信删除