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);
}
}
网友评论