解压文件zip
/*** @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;}
?
總結
- 上一篇: 面向对象知识点
- 下一篇: oauth2.0 原理