$filename = $this->upload->data(‘file_name‘); //得到文件夹(此处是CI框架上传文件之后得到文件名称)
$file_root = ‘canddata/‘.$time.‘/‘.$filename;//确定你上传的zip包的目录
$zip = new ZipArchive;//新建一个ZipArchive的对象
$res = $zip->open($file_root);//打开zip
//读取zip
if($res === TRUE){
$zip->extractTo("./canddata/".$time."/".time());//将zip包解压到指定目录
$zip->close();
$dirs = "./canddata/".$time."/".time()."/cand_picture/cands";//打开zip包之后文件夹下边的文件
$file = $this->wenjian($dirs);//递归查询文件夹下的文件 (如果zip包中是单个的文件就不需要遍历文件夹,只需要处理对应的文件即可)
//处理相对应的的文件
}
//遍历文件
public function wenjian($dir)
{
$files = array();
if(@$handle = opendir($dir)) { //注意这里要加一个@,不然会有warning错误提示:)
while(($file = readdir($handle)) !== false) {
if($file != ".." && $file != ".") { //排除根目录;
if(is_dir($dir."/".$file)) { //如果是子文件夹,就进行递归
$files[$file] = my_dir($dir."/".$file);
} else { //不然就将文件的名字存入数组;
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
$tmp=$myfile[‘tmp_name‘];
$path="./images/".$myfile[‘name‘];
if (!move_uploaded_file($tmp, $path)) {
die(‘上传失败‘);
}
原文:https://www.cnblogs.com/wanghaodong/p/9172749.html