• ベストアンサー

初歩的ですが・・・

ある指定したファイルの内容を 別の指定したファイルへ新規に書き込む場合 どのようなロジックが効率的でしょうか? 元ファイルの行数は複数です。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

$file1=$path."/file1.txt";  //元ファイル $file2=$path."/file2.txt";  //新規ファイル まずは元ファイルの内容を配列に取り込みます。 $fileopen=file("$file1"); これで配列$fileopenにfile1の内容が書き込まれました。 続いて新規ファイルを書込モードでオープンします。 当然そのファイルがないときは自動的に作るようにします。 $fp=fopen($file2,"w+"); 開いたファイルに配列を書き込んでいきます。 foreach($fileopen as $line) {   fwrite($fp,$line); } 最後に新規ファイルを閉じます。 fclose($file2); 以上です。

pantsu69
質問者

お礼

返信ありがとうございました。 上記のプログラムで意図した動きができました。 ありがとうございました。 また何か質問がありましたら、よろしくお願いいたします。

その他の回答 (1)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

ファイルの内容を全てコピーするのであれば、copy()関数で良いのでは。 特定の行のみをコピーするのであれば、sedやawkで正規表現を使った抜き出しも考えられます。

参考URL:
http://jp.php.net/manual/ja/function.copy.php
pantsu69
質問者

お礼

copy関数を使用したいのですが、 その後の拡張性を考慮するとできないんですよ(泣) sedやawkをつかえたらいいなぁ・・・ ちょっと勉強してみます。 ありがとうございました。

関連するQ&A