当前位置:首页 > PHP教程 > php文件操作 > 列表

php 遍历目录文件编码转换

发布:smiling 来源: PHP粉丝网  添加日期:2018-09-14 13:40:33 浏览: 评论:0 

遍历当前目录及子目录,把所有的文件转换编码到UTF-8,代码如下:

  1. //php iconv.php  
  2.  
  3. //exec it on root dir 
  4.  
  5. $path = dirname(__FILE__); 
  6.  
  7. tree($path); 
  8.  
  9.   
  10.  
  11. function encodeFiles($fileName
  12.  
  13.  
  14. //    echo $fileName; 
  15.  
  16.     if (file_exists($fileName)) { 
  17.  
  18.         // Read in the contents 
  19.  
  20.         $res = file_get_contents($fileName); 
  21.  
  22.         $i = pathinfo($fileName); 
  23.  
  24.         if(!in_array($i['extension'],array('js','css','php','html','htm'))){ 
  25.  
  26.             return ; 
  27.  
  28.         } 
  29.  
  30.         // Just display on the screen the file being modified 
  31.  
  32.         echo  $fileName . "---form---"
  33.  
  34.         // Convert the contents 
  35.  
  36.         echo  $encode = mb_detect_encoding()($resarray("ASCII""UTF-8""GB2312""GBK")); 
  37.  
  38.         echo "---to---UTF-8!\n"
  39.  
  40.         $res = iconv($encode"UTF-8"$res); 
  41.  
  42.         // Write back out to the same file 
  43.  
  44.         file_put_contents($fileName$res); 
  45.  
  46.     } // 
  47.  
  48.  
  49.   
  50.  
  51. function tree($directory
  52.  
  53.  
  54.     $mydir = dir($directory); 
  55.  
  56.     while ($file = $mydir->read()) { 
  57.  
  58.         if ((is_dir("$directory/$file")) AND ($file != ".") AND ($file != "..")) { 
  59.  
  60.             tree("$directory/$file"); 
  61.  
  62.         } else { 
  63.  
  64.             $file ="$directory/$file"
  65.  
  66.   
  67.  
  68. //            echo "<li>$file</li>\n"; 
  69.  
  70.             if(is_file($file)){ 
  71.  
  72.                 encodeFiles($file); 
  73.  
  74.             } 
  75.  
  76.         } 
  77.  
  78.     } 
  79.  

Tags: 编码 文件 目录

分享到: