【分享】PHP转换相对路径,并创建目录

<?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);

?> 


阅读本文后,您的心情是:
 
恶心
愤怒
强赞
感动
路过
无聊
雷囧
关注
知识共享许可协议
评论(0) 浏览(23197) 引用(0)
引用地址:http://blog.baiwand.com/tb.php?sc=60714c&id=65
Tags:
« 【经验】WIN7系统配置PHP(Apache+Mysql)+JSP(Apache整合Tomcat)运行环境 【分享】一条多表联合删除sql的优化 »

Blogger

  • blogger
  • 天之骄子
  • 职位:研发工程师
    铭言:
    阳光与欢乐同在,
    与我同在
    主页:
    blog.baiwand.com

分类目录

日志归档

主题标签

数据统计

  • 日志:151篇
  • 评论:45条
  • 碎语:264条
  • 引用:0条

链接表

随机日志 »

最新日志 »

最新评论 »

标签云 »

订阅Rss
sitemap