<?php /* * 作用:主用于文件上传后的目录自动生成 * 时间:2006-3-12 * 作者:欣然随风 * 测试:张洋 * 测试时间:2012-9-28 * 测试结果:经测试可用 */ class class_dir { /** * 换算实际路径 */ function dir_path($path) { $adir = explode('/',$path); for($i=0;$i<count($adir);$i++) { $key = false; if($adir[$i] == "..") $key = $i; if($key !== false) { for($j=0;$j<count($adir);$j++) { if($j==$key-1 || $j==$key) continue; $newadir[] = $adir[$j]; } $adir = $newadir; $newadir = false; $i=$i-2; } } Return $path = implode("/",$adir); } /** * 按指定路径生成目录 */ function dir_mkdirs($path) { $path=str_replace('\\', '/', $path); $path = $this->dir_path($path); $adir = explode('/',$path); $dirlist = ''; $rootdir = array_shift($adir); if(!file_exists($rootdir)) mkdir($rootdir); foreach($adir as $val) { $dirlist .= "/".$val; $dirpath = $rootdir.$dirlist; if(!file_exists($dirpath)) { mkdir($dirpath); chmod($dirpath,0777); } } } }//class end //测试: //$path = "E:/xxx/main/configs/../../../main/upfile/logo/"; $p = new class_dir; $p->dir_mkdirs($path); ?>