/**
* @param $filename 文件所在的位置和全名
* @param $dir 解压后的文件所存放的目录
* @return mixed 返回解压后的文件所在路径和名称
*/
public function unzipfile($filename,$dir)
{
header('Content-type:text/html;charset=utf-8');
if (!is_dir($dir)) {
mkdir($dir, 0777, true);//创建目录保存解压内容
}
$save_path = "";
if(file_exists($filename)){
$resource = zip_open($filename);
while($zip = zip_read($resource)){
if(zip_entry_open($resource, $zip)){
$file_content = zip_entry_name($zip);//获得文件名,mac压缩成zip,解压需要过滤资源库隐藏文件
$file_name = uniqid().substr($file_content, strrpos($file_content, '/') + 1);//查找 "/" 在字符串$file_content中最后一次出现的位置:
if(!is_dir($file_name) && $file_name){
$save_path = $dir . '/' . $file_name;
if(file_exists($save_path)){
echo '文件夹内已存在文件 "' . $file_name . '" <pre />';
}else {
//echo $file_name . '<pre />';
$file_size = zip_entry_filesize($zip);
$file = zip_entry_read($zip, $file_size);
file_put_contents($save_path, $file);
zip_entry_close($zip);
}
}
}
}
zip_close($resource);
}
return $save_path;
}
解压文件zip
猜你喜欢
转载自blog.csdn.net/kevlin_V/article/details/86290052
今日推荐
周排行