[ PHP ] CSV に書かれたファイルを開いて、検索・置換して保存するサンプル

CSV に書かれたファイルを開いて、検索・置換して保存する PHP のサンプルを書いてみました。

CSV ファイルのフォーマット

次のように書かれた CSV ファイルを読み込んで、ファイルを書き換えます。

ファイル名,検索文字列,置換文字列,
test1.html,aaaaaaaaaa,bbbbbbbbbb,
test2.html,cccccccccc,dddddddddd,

サンプルコード

PHP のコードは次のような感じです。

<?php

// CSV ファイルを読み込む
$CSVFileName = "replace-str.csv";
$CSVFile = fopen($CSVFileName,"r");

while(!feof($CSVFile)){

    $csv = fgets($CSVFile);

    // CSV ファイルを配列に格納
    // $str[0] = ファイル名
    // $str[1] = 検索文字列
    // $str[2] = 置換文字列
    $str = explode(",", $csv);

    $FileName = "data/".$str[0];
    $File = @fopen($FileName, "r+");
    $data=stream_get_contents ($File); // PHP5

    // 置換処理
    //$data = ereg_replace($str[1],$str[2],$data);
    $data = str_replace($str[1],$str[2],$data);

    ftruncate ($File, 0); // 中味の削除
    rewind($File); // ポインタの巻き戻し
    fwrite($File, $data);
    fclose($File);
}
fclose($CSVFile);
?>

以上です!

コメントを残す

メールアドレスが公開されることはありません。