国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP遍歷文件夾與文件類及處理類用法實例

PHP遍歷文件夾與文件類及處理類用法實例

2020-07-29 15:34shichen2014 PHP教程

這篇文章主要介紹了PHP遍歷文件夾與文件類及處理類用法實例,包括了文件及文件夾的遍歷以及清除utf8的bom頭方法,非常實用,需要的朋友可以參考下

本文實例講述了PHP遍歷文件夾與文件類及處理類用法,非常具有實用價值。分享給大家供大家參考。具體方法如下:

FindFile.class.php類文件用于遍歷目錄文件,具體代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
/** 遍歷文件夾及文件類
*  Date:  2013-03-21
*  Author: fdipzone
*  Ver:  1.0
*/
class FindFile{
 
  public $files = array();  // 存儲遍歷的文件
  protected $maxdepth;    // 搜尋深度,0表示沒有限制
 
  /* 遍歷文件及文件夾
  *  @param String $spath   文件夾路徑
  *  @param int  $maxdepth 搜尋深度,默認搜尋全部
  */
  public function process($spath, $maxdepth=0){
    if(isset($maxdepth) && is_numeric($maxdepth) && $maxdepth>0){
      $this->maxdepth = $maxdepth;
    }else{
      $this->maxdepth = 0;
    }
    $this->files = array();
    $this->traversing($spath); // 遍歷
  }
 
  /* 遍歷文件及文件夾
  *  @param String $spath 文件夾路徑
  *  @param int  $depth 當前文件夾深度
  */
  private function traversing($spath, $depth=1){
    if($handle = opendir($spath)){
      while(($file=readdir($handle))!==false){
        if($file!='.' && $file!='..'){
          $curfile = $spath.'/'.$file;
 
          if(is_dir($curfile)){ // dir
            if($this->maxdepth==0 || $depth<$this->maxdepth){ // 判斷深度
              $this->traversing($curfile, $depth+1);
            }
          }else{ // file
            $this->handle($curfile);
          }
        }
      }
      closedir($handle);
    }
  }
 
  /** 處理文件方法
  * @param String $file 文件路徑
  */
  protected function handle($file){
    array_push($this->files, $file);
  }
}
?>

UnsetBom.class.php用于清除utf8+bom文件的bom,即頭三個字節 0xEF 0xBB 0xBF,繼承FindFile類,具體代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
/** 遍歷所有文件,清除utf8+bom 0xEF 0xBB 0xBF
*  Date:  2013-03-21
*  Author: fdipzone
*  Ver:  1.0
*/
class UnsetBom extends FindFile{
 
  private $filetype = array(); // 需要處理的文件類型
 
  // 初始化
  public function __construct($filetype=array()){
    if($filetype){
      $this->filetype = $filetype;
    }
  }
 
  /** 重寫FindFile handle方法
  *  @param String $file 文件路徑
  */
  protected function handle($file){
    if($this->check_ext($file) && $this->check_utf8bom($file)){ // utf8+bom
      $this->clear_utf8bom($file);    // clear
      array_push($this->files, $file);  // save log
    }
  }
 
  /** 檢查文件是否utf8+bom
  *  @param String $file 文件路徑
  *  @return boolean
  */
  private function check_utf8bom($file){
    $content = file_get_contents($file);
    return ord(substr($content,0,1))===0xEF && ord(substr($content,1,1))===0xBB && ord(substr($content,2,1))===0xBF;
  }
 
  /** 清除utf8+bom
  *  @param String $file 文件路徑
  */
  private function clear_utf8bom($file){
    $content = file_get_contents($file);
    file_put_contents($file, substr($content,3), true); // 去掉頭三個字節
  }
 
  /** 檢查文件類型
  *  @param String $file 文件路徑
  *  @return boolean
  */
  private function check_ext($file){
    $file_ext = strtolower(array_pop(explode('.',basename($file))));
    if(in_array($file_ext, $this->filetype)){
      return true;
    }else{
      return false;
    }
  }
}
?>

去除utf8 bom頭Demo遍歷文件示例:

?
1
2
3
4
5
6
7
8
9
10
11
<?php
require('FindFile.class.php');
require('UnsetBom.class.php');
 
$folder = dirname(__FILE__);
 
$obj = new UnsetBom(array('php','css','js')); // 文件類型
$obj->process($folder);
 
print_r($obj->files);
?>

希望本文所述對大家PHP程序設計的學習有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区欧美 | 51ⅴ精品国产91久久久久久 | 日韩精品视频在线 | 97超碰免费 | 国产美女久久 | 欧美综合第一页 | 毛片视频免费播放 | 激情婷婷 | 欧美精品综合 | 日韩毛片免费视频一级特黄 | 日本精品久久 | 亚洲精品国产精品国自产在线 | av网站观看 | 国产精品视频一二三区 | 亚洲免费网站 | 日韩中文一区二区 | 欧美国产一区二区三区 | 天天摸天天干 | 免费一区二区三区 | 国产在线观看二区 | 欧洲一区在线观看 | 亚洲乱码国产乱码精品精98午夜 | 久久综合另类激情人妖 | 搞黄视频在线观看 | 欧美三级在线 | 亚洲精品a在线观看 | 在线视频自拍 | 欧美一区二区公司 | 中文字幕精品一区 | 精品久久久一 | 国产精品成人国产乱一区 | 久久人人网 | 亚洲 成人 av | 亚洲激情在线 | 久草视频网站 | 成人片免费看 | 婷婷亚洲五月 | 久久美女| 精品久久久久久久久久久久久久 | 精品国产乱码久久久久久1区2区 | 久久99精品久久久久久噜噜 |