• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:fopenでファイルを読み込み、その取り込んだファイルを置換や修正したい。)

fopenでファイル読み込み、置換や修正したい

このQ&Aのポイント
  • fopen関数を使用してファイルを読み込み、その取り込んだファイルを置換や修正したいです。includeではなくfopenを使用してPHPの機能を取り込みたいですが、現状ではPHPの構文が表示されてしまいます。
  • includeやリクワイヤーではなくfopenを使用してファイルを読み込み、PHPの構文を置換や修正する方法を知りたいです。fopenで取り込むとPHPの構文をstr_replaceなどで置換できると思っています。
  • fopen関数を使用してファイルを読み込む方法を教えてください。PHPの構文を置換や修正したいので、fopenを使用する方法を知りたいです。

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

  • ベストアンサー
回答No.1

b.phpをファイル読み込みしているのでそのまま吐き出されています。 PHP構文だとしてもそれは既に文字列として扱われます。 a.phpから値をいじりたいというのなら変数をグローバルアクセス化して includeした方が速いですね。 a.php <?php include "b.php"; $abc = "なにぬねの"; test(); ?> b.php <?php $abc = "あいうえお"; function test(){ global $abc; echo $abc; } ?>

noname#20805
質問者

お礼

ありがとうございます。 うまく質問ができなかったのですが、 bというファイルをを取り込んで、 とりこんだBのPHP構文を修正したいのです。 アドバイスいただけると幸いです。

その他の回答 (1)

回答No.2

> 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); ?>

noname#20805
質問者

補足

ありがとうございます。 これなら $amax = 4; //最大値 の数値を2や3にもできますね。 応用が利きそうで助かりました。 ただ、<b.php>は<a.php>以外のファイルからも使いまわしたいので上書き保存より別名で保存のようなことはできませんか?

関連するQ&A