2008年12月25日木曜日

[PHP]: ディレクトリ内の任意のファイルの文字コードを一括変換

手元のLaTeXファイルの文字コードをまとめてEUC-JPからShift-JISに変換する事があったのでささっと書いてみた.
  • srcDir: 文字コード変換するファイルが入っているディレクトリ
  • dstDir: 文字コード変換したファイルを保存する先のディレクトリ
  • fromEncoding: 変換元の文字コード
  • toEncoding: 変換先の文字コード
  • pattern: $srcDir内で変換対象となるファイルのPerl正規表現パターン
$srcDir = "./hogehoge";
$dstDir = "./hogehoge_sjis";
$fromEncoding = "shift_jis";
$toEncoding = "euc-jp";
$pattern = "/tex$/";

$directory = dir($srcDir);
while(
$filename = $directory->read()){
if(!
preg_match($pattern, $filename))
continue;
$fp = fopen($srcDir."/".$filename, 'r');
$wfp = fopen($dstDir."/".$filename, 'w');
while((
$buff = fgets($fp, 2048)) != false){
fputs($wfp, mb_convert_encoding($buff, $fromEncoding, $toEncoding));
}
}
memoということで.

0 件のコメント:

コメントを投稿