首页 > 开发 > PHP > 正文

php创建多级目录完整封装类操作方法

2024-05-04 22:45:58
字体:
来源:转载
供稿:网友

创建多级目录函数中调用创建指定下的指定文件的函数:

 public function create_dir($dir,$mode=0777)  {    return is_dir($dir) or ($this->create_dir(dirname($dir)) and mkdir($dir, $mode));  }

创建指定路径下的指定文件,string 需要包含文件名和后缀path(需要包含文件名和后缀),booleanover_write 是否覆盖文件,int 设置时间。默认是当前系统时间time设置时间。默认是当前系统时间,intatime 设置访问时间。默认是当前系统时间。函数如下中调用了create_dir创建目录函数及删除unlink_file函数:

public function create_file($path,$over_write=FALSE,$time=NULL,$atime=NULL)  {    $path = $this->dir_replace($path);    $time = empty($time) ? time() : $time;    $atime = empty($atime) ? time() : $atime;    if(file_exists($path) && $over_write)    {      $this->unlink_file($path);    }    $aimDir = dirname($path);    $this->create_dir($aimDir);    return touch($path,$time,$atime);  }

删除非空目录函数,说明:只能删除非系统和特定权限的文件,否则会出现错误,string目录路径dirName目录路径,booleanis_all是否删除所有,boolean $del_dir 是否删除目录,函数如下:

public function remove_dir($dir_path,$is_all=FALSE)  {    $dirName = $this->dir_replace($dir_path);    $handle = @opendir($dirName);    while (($file = @readdir($handle)) !== FALSE)    {      if($file != '.' && $file != '..')      {        $dir = $dirName . '/' . $file;        if($is_all)        {          is_dir($dir) ? $this->remove_dir($dir) : $this->unlink_file($dir);        }        else         {          if(is_file($dir))          {            $this->unlink_file($dir);          }        }      }    }    closedir($handle);    return @rmdir($dirName);  }

替换路径中//的字符相应的字符函数:

public function dir_replace($path)  {    return str_replace('//','/',str_replace('//','/',$path));  }
/**   * 指定文件编码转换   * @param string $path 文件路径   * @param string $input_code 原始编码   * @param string $out_code 输出编码   * @return boolean   */  public function change_file_code($path,$input_code,$out_code)  {    if(is_file($path))//检查文件是否存在,如果存在就执行转码,返回真    {      $content = file_get_contents($path);      $content = string::chang_code($content,$input_code,$out_code);      $fp = fopen($path,'w');      return fputs($fp,$content) ? TRUE : FALSE;      fclose($fp);    }  }

/**
* 取得上传文件信息
* @param $file file属性信息
* @return array
*/

public function get_upload_file_info($file)  {    $file_info = $_FILES[$file];//取得上传文件基本信息    $info = array();    $info['type'] = strtolower(trim(stripslashes(preg_replace("/^(.+?);.*$/", "//1", $file_info['type'])), '"'));//取得文件类型    $info['temp'] = $file_info['tmp_name'];//取得上传文件在服务器中临时保存目录    $info['size'] = $file_info['size'];//取得上传文件大小    $info['error'] = $file_info['error'];//取得文件上传错误    $info['name'] = $file_info['name'];//取得上传文件名    $info['ext']  = $this->get_ext($file_info['name']);//取得上传文件后缀    return $info;  }            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表