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

生成多级路径的文件地址

作者: 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