久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

php創建多級目錄完整封裝類操作方法

下面小編就為大家帶來一篇php創建多級目錄完整封裝類操作方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

創建多級目錄函數中調用創建指定下的指定文件的函數:

 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;
  }

/**
* 取得文件路徑信息
* @param $full_path 完整路徑
* @return ArrayObject
*/

public function get_file_type($path)
  {
    //pathinfo() 函數以數組的形式返回文件路徑的信息。
    //---------$file_info = pathinfo($path); echo file_info['extension'];----------//
    //extension取得文件后綴名【pathinfo($path,PATHINFO_EXTENSION)】-----dirname取得文件路徑【pathinfo($path,PATHINFO_DIRNAME)】-----basename取得文件完整文件名【pathinfo($path,PATHINFO_BASENAME)】-----filename取得文件名【pathinfo($path,PATHINFO_FILENAME)】
    return pathinfo($path);
  }

/**
* 返回指定文件和目錄的信息
* @param string $file
* @return ArrayObject
*/

public function list_info($file)
  {
    $dir = array();
    $dir['filename']  = basename($file);//返回路徑中的文件名部分。
    $dir['pathname']  = realpath($file);//返回絕對路徑名。
    $dir['owner']   = fileowner($file);//文件的 user ID (所有者)。
    $dir['perms']   = fileperms($file);//返回文件的 inode 編號。
    $dir['inode']   = fileinode($file);//返回文件的 inode 編號。
    $dir['group']   = filegroup($file);//返回文件的組 ID。
    $dir['path']    = dirname($file);//返回路徑中的目錄名稱部分。
    $dir['atime']   = fileatime($file);//返回文件的上次訪問時間。
    $dir['ctime']   = filectime($file);//返回文件的上次改變時間。
    $dir['perms']   = fileperms($file);//返回文件的權限。 
    $dir['size']    = filesize($file);//返回文件大小。
    $dir['type']    = filetype($file);//返回文件類型。
    $dir['ext']    = is_file($file) ? pathinfo($file,PATHINFO_EXTENSION) : '';//返回文件后綴名
    $dir['mtime']   = filemtime($file);//返回文件的上次修改時間。
    $dir['isDir']   = is_dir($file);//判斷指定的文件名是否是一個目錄。
    $dir['isFile']   = is_file($file);//判斷指定文件是否為常規的文件。
    $dir['isLink']   = is_link($file);//判斷指定的文件是否是連接。
    $dir['isReadable'] = is_readable($file);//判斷文件是否可讀。
    $dir['isWritable'] = is_writable($file);//判斷文件是否可寫。
    $dir['isUpload']  = is_uploaded_file($file);//判斷文件是否是通過 HTTP POST 上傳的。
    return $dir;
  }

以上這篇php創建多級目錄完整封裝類操作方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發接口使用RSA進行加密解密方法,對此有興趣的朋友可以學習下。
主站蜘蛛池模板: 中文字幕视频在线观看 | 91精品国产91久久久久久吃药 | 夜夜爽99久久国产综合精品女不卡 | 久久91 | 毛片入口 | 99精品一区二区 | 国产在线观看一区二区三区 | 日韩中文字幕在线免费 | 色综合一区二区三区 | 免费国产黄网站在线观看视频 | www视频在线观看 | 成人a视频在线观看 | 成人免费观看男女羞羞视频 | 色视频成人在线观看免 | 国产乱性 | 99爱视频 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 国产精品不卡视频 | 日韩精品在线免费 | 亚洲欧美日韩成人在线 | 在线观看亚洲专区 | 久久免费精品 | 在线成人免费视频 | 欧美日韩免费一区二区三区 | 成人福利网 | 久久99精品久久久久久青青日本 | 午夜激情国产 | 97精品久久 | 一级a性色生活片久久毛片 一级特黄a大片 | 国产性网 | 91免费在线看 | 日日干干 | 亚洲美女一区 | 一级做受毛片免费大片 | 不卡一区| 婷婷久久网| 凹凸日日摸日日碰夜夜 | 黄免费在线 | 久久精品视频播放 | 91视频免费黄 | 亚洲劲爆av|