美文网首页
生成多级路径的文件地址

生成多级路径的文件地址

作者: Chting | 来源:发表于2018-07-17 16:28 被阅读0次
    class image{
    
           /**
         * 生成图片的url
         * @param  string $str [随意字符串]
         * @return [type]      [description]
         */
        public function getimgpath($str='',$type='png')
        {
            $ident = sha1(uniqid('', true).$str.microtime());
            $dir = '/'.$ident{0}.$ident{1}.'/'.$ident{2}.$ident{3}.'/'.$ident{4}.$ident{5}.'/'.substr($ident,6);
            $uri = $dir.substr(md5(($str).microtime()),0,6);
            $uri = $uri.'.'.$type;
            $path = MEDIA_DIR.$uri;
            $base_path = 'public/images'.$uri;
            if(file_exists($path)){
                return false;
            }
            $dir = dirname($path);
            if(!is_dir($dir)){
                if(!$this->mkdir_p($dir)){
                    return false;
                }
            }
            return $base_path;
        }
    
       public  function mkdir_p($dir,$dirmode=0755){
            $path = explode('/',str_replace('\\','/',$dir));
            $depth = count($path);
            for($i=$depth;$i>0;$i--){
                if(file_exists(implode('/',array_slice($path,0,$i)))){
                    break;
                }
            }
            for($i;$i<$depth;$i++){
                if($d= implode('/',array_slice($path,0,$i+1))){
                    mkdir($d,$dirmode);
                }
            }
            return is_dir($dir);
        }
    }

    相关文章

      网友评论

          本文标题:生成多级路径的文件地址

          本文链接:https://www.haomeiwen.com/subject/sqlgpftx.html