I just finished a new function that create recursively a path (eg. an upload directory) if it not exists.
I think this is very useful and should be integrated into the CFileHelper.
So we will obtain: CFileHelper::initialize($path);
public static function initialize($dir) {
if(file_exists($dir)||empty($dir))
return false;
$array=$this->_dirList($dir);
foreach($array as $value) {
if(file_exists($value))
continue;
mkdir($value);
}
return true;
}
private function _dirList($dir) {
// remove ending slash
$dir=(substr($dir,-1)==DIRECTORY_SEPARATOR?substr($dir,0,-1):$dir);
$isUnix=($dir[0]==DIRECTORY_SEPARATOR?true:false);
$e=explode(DIRECTORY_SEPARATOR,$dir);
$c=count($e);
$list=array();
if($isUnix) {
$list[0]=DIRECTORY_SEPARATOR;
for($i=0;$i!=$c;$i++) {
if(empty($e[$i]))
continue;
$list[$i]=$list[$i-1].$e[$i].DIRECTORY_SEPARATOR;
}
}
else {
for($i=0;$i!=$c;$i++) {
if($i==0)
$list[$i]=$e[$i].DIRECTORY_SEPARATOR;
else
$list[$i]=$list[$i-1].$e[$i].DIRECTORY_SEPARATOR;
}
}
return $list;
}
the function _dirList() is required by initialize().
Enjoy.

Help















