如何使用PHP解压上一个目录中的文件
我有下面的函数,但问题是zip文件将解压缩到该函数文件所在的目录 例如,我有admin/includes/zip_function.php如何使用PHP解压上一个目录中的文件,php,unzip,Php,Unzip,我有下面的函数,但问题是zip文件将解压缩到该函数文件所在的目录 例如,我有admin/includes/zip_function.php 此函数用于将文件解压缩到: 管理/包括/ 我想把它解压缩到:admin/ 以下是函数: function unzip($file){ $zip=zip_open(realpath(".")."/".$file); if(!$zip) {return("Unable to proccess file '{$file}'");}
- 此函数用于将文件解压缩到: 管理/包括/
- 我想把它解压缩到:admin/
function unzip($file){
$zip=zip_open(realpath(".")."/".$file);
if(!$zip) {return("Unable to proccess file '{$file}'");}
$e='';
while($zip_entry=zip_read($zip)) {
$zdir=dirname(zip_entry_name($zip_entry));
$zname=zip_entry_name($zip_entry);
if(!zip_entry_open($zip,$zip_entry,"r")) {$e.="Unable to proccess file '{$zname}'";continue;}
if(!is_dir($zdir)) mkdirr($zdir,0777);
#print "{$zdir} | {$zname} \n";
$zip_fs=zip_entry_filesize($zip_entry);
if(empty($zip_fs)) continue;
$zz=zip_entry_read($zip_entry,$zip_fs);
$z=fopen($zname,"w");
fwrite($z,$zz);
fclose($z);
zip_entry_close($zip_entry);
}
zip_close($zip);
return($e);
}
function mkdirr($pn,$mode=null) {
if(is_dir($pn)||empty($pn)) return true;
$pn=str_replace(array('/', ''),DIRECTORY_SEPARATOR,$pn);
if(is_file($pn)) {trigger_error('mkdirr() File exists', E_USER_WARNING);return false;}
$next_pathname=substr($pn,0,strrpos($pn,DIRECTORY_SEPARATOR));
if(mkdirr($next_pathname,$mode)) {if(!file_exists($pn)) {return mkdir($pn,$mode);} }
return false;
}
谢谢你的帮助- 您应该阅读fopen的文档。您没有指定目录 开始接受答案吧 您可以使用: 如果你想得到最好的帮助,一定要接受答案 做:
$z=fopen("../".$zname,"w");
工作。我仔细检查了fopen文档……我不确定这对我有什么帮助?
$z=fopen("../".$zname,"w");