Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die gemeinsame Nutzung von Funktionsklassen für die Stapelkonvertierung aller Dateikodierungen in einem Ordner in PHP

So implementieren Sie die gemeinsame Nutzung von Funktionsklassen für die Stapelkonvertierung aller Dateikodierungen in einem Ordner in PHP

黄舟
黄舟Original
2017-08-07 09:24:02923Durchsuche

Geben Sie einen PHP-Konvertierungsordner für alle Dateikodierungsfunktionsklassen frei, der zum Veröffentlichen anderer Kodierungsversionen der Website geeignet ist. Wenn Sie beispielsweise eine GBK-Version haben und eine UTF8-Version wünschen oder nur den GBK-Quellcode haben Sie möchten es erneut entwickeln, möchten es aber nicht. Um die Kodierungsmethode der IDE zu ändern, können Sie dieses Programm verwenden, um es stapelweise in UTF8 zu konvertieren

Funktionscode:


<?php
/**
 * 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码
 * @param string $filename
 */
function iconv_file($filename,$input_encoding=&#39;gbk&#39;,$output_encoding=&#39;utf-8&#39;)
{
  if(file_exists($filename))
  {
    if(is_dir($filename))
    {
      foreach (glob("$filename/*") as $key=>$value)
      {
        iconv_file($value);
      }
    }
    else
    {
      $contents_before = file_get_contents($filename);
      /*$encoding = mb_detect_encoding($contents_before,array(&#39;CP936&#39;,&#39;ASCII&#39;,&#39;GBK&#39;,&#39;GB2312&#39;,&#39;UTF-8&#39;));
      echo $encoding;
      if($encoding==&#39;UTF-8&#39;) mb_detect_encoding函数不工作
      {
        return;
      }*/
      $contents_after = iconv($input_encoding,$output_encoding,$contents_before);
      file_put_contents($filename, $contents_after);
    }
  }
  else
  {
    echo &#39;参数错误&#39;;
    return false;
  }
}
iconv_file(&#39;./test&#39;);
?>

Hinweis: Legen Sie es in einem Ordner ab. Alle Dateien können nur einmal transkodiert werden, sonst werden sie alle verstümmelt

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die gemeinsame Nutzung von Funktionsklassen für die Stapelkonvertierung aller Dateikodierungen in einem Ordner in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn