[PHP-users 18337]Re: ファイルの変更方法

Seto seto @ cii.gr.jp
2003年 10月 8日 (水) 14:41:40 JST


 Seto@たびたび失礼します。

>これをコピーしてある文字列だけ変更して保存したいのです。
ということなら

>    if($aa){
>      fputs($fp, "success!!!!");
>  }
これではまずいですね。
文字列の置換をしないといけませんので
正規表現関数の ereg_replace とか
Perl互換が使える環境なら preg_replace とか使えば楽だと思います。


>copy($in_file, $out_file);
>
>$fp = fopen($out_file , "r+");
>flock($fp,LOCK_EX);
>while (!feof ($fp)) {
>    $buffer = fgets($fp);
>    $aa=strstr($buffer,"ADDRESS");
>    if($aa){
>      fputs($fp, "success!!!!");
>  }
>}
>fclose($fp);

このへんは私ならファイルコピーせずに
元ファイルはreadでopen
新ファイルはwriteでopen
元ファイルを1行ごと読み込んで
(# 小さなファイルならいきなりfile();かも)
(p)ereg_replace
それを新しいファイルに fputs かな。。。




PHP-users メーリングリストの案内