Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Batch-Konvertierungsmethode zum Kodieren aller Dateien in einem Ordner

PHP-Batch-Konvertierungsmethode zum Kodieren aller Dateien in einem Ordner

小云云
小云云Original
2018-01-30 11:38:241559Durchsuche

Wenn Sie eine GBK-Version haben und eine UTF8-Version möchten oder nur den Quellcode von GBK haben und ihn erneut entwickeln möchten, aber die Kodierungsmethode der IDE nicht ändern möchten, 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: Sie können alle Dateien in einem Ordner nur einmal transkodieren, sonst werden sie alle verstümmelt . .

Verwandte Empfehlungen:

So konvertieren Sie die Dateikodierung in UTF-8 unter Linux

PHP konvertiert alle Dateikodierungen im Ordner

PHP unterstützt Funktionen zum Abfangen chinesischer Zeichen für mehrere Dateikodierungen

Das obige ist der detaillierte Inhalt vonPHP-Batch-Konvertierungsmethode zum Kodieren aller Dateien in einem Ordner. 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