- ベストアンサー
fopenでファイル読み込み、置換や修正したい
- fopen関数を使用してファイルを読み込み、その取り込んだファイルを置換や修正したいです。includeではなくfopenを使用してPHPの機能を取り込みたいですが、現状ではPHPの構文が表示されてしまいます。
- includeやリクワイヤーではなくfopenを使用してファイルを読み込み、PHPの構文を置換や修正する方法を知りたいです。fopenで取り込むとPHPの構文をstr_replaceなどで置換できると思っています。
- fopen関数を使用してファイルを読み込む方法を教えてください。PHPの構文を置換や修正したいので、fopenを使用する方法を知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
b.phpをファイル読み込みしているのでそのまま吐き出されています。 PHP構文だとしてもそれは既に文字列として扱われます。 a.phpから値をいじりたいというのなら変数をグローバルアクセス化して includeした方が速いですね。 a.php <?php include "b.php"; $abc = "なにぬねの"; test(); ?> b.php <?php $abc = "あいうえお"; function test(){ global $abc; echo $abc; } ?>
その他の回答 (1)
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
> bというファイルをを取り込んで、 > とりこんだBのPHP構文を修正したいのです。 Bファイルを実行とかではなくて、単純にBファイルを書き換えたいという事ですか? それならBファイルを全部配列等で取得して 対象となる場所だけ書き換えてから Bファイルをfwriteを使って再度作成すれば良いと思います。 それを実行させたいなら、上記処理を行った後に includeすれば良いでしょう。 テキトーに作ってみました。 【a.php】 <?php $bdat = file("b.php"); $fp = fopen('b.php', 'w'); //「あいうえお」を「なにぬねの」に置換し、ファイルを書き換える foreach ($bdat as $key => $value) { $bdat[$key] = mb_ereg_replace("あいうえお", "なにぬねの", $value); fwrite($fp, $bdat[$key]); } fclose($fp); ?>
補足
ありがとうございます。 これなら $amax = 4; //最大値 の数値を2や3にもできますね。 応用が利きそうで助かりました。 ただ、<b.php>は<a.php>以外のファイルからも使いまわしたいので上書き保存より別名で保存のようなことはできませんか?
お礼
ありがとうございます。 うまく質問ができなかったのですが、 bというファイルをを取り込んで、 とりこんだBのPHP構文を修正したいのです。 アドバイスいただけると幸いです。