2009-08-19 23 views
2

同じサーバー上のファイルから変数を抽出するスクリプトを作成しようとしています。PHP - コードを実行せずに別のPHPファイルから変数を取得しますか?

他にもがファイルに常駐している(スクリプトは他の人に使用されている)ので、実際にすべてをロードする必要はありませんコードのいずれかを実行するか、実行します。

私はrequireやincludeのようなものではなく、file_get_contentsの使用を考えましたが、私は固執しています...文字列内のすべての変数を解析する方法はありますか?あるいは、ファイルをインクルードする「安全な」方法がありますか?

多くのおかげで、 ジェームズ

+1

問題を間違った方法で処理しているような気がします。あなたは正確に何をしようとしていますか? – Havenard

+0

私は既存のシステムクライアントのユーザーに機能を追加するスクリプトを作成しようとしています。各クライアントには、必要な変数に保持されている情報が含まれているファイルがありますが、必要な情報に加えて他の変数もあります(特定の機能を実行する他のPHPコードもあります)。 私はこれらのファイルから必要なデータを安全に抽出する方法を探しています。 –

答えて

2

なぜあなたは、他の2つのファイルにそれらを含め、第三のファイルにすべての変数を入れていないのですか?

あなたがしようとしていることは危険です。特に「他の人が使用する」というのは、他人がそれらのファイルを書くことができるということです。

+0

私のスクリプトは既存のシステムに機能を追加しようとしています。通常、これらのファイルは変数のみを含むべきですが、私は非常に疲れています。私は、私のスクリプトに必要のない無駄な変数をたくさん含むことも望まない。 理想的には、これは「プラグアンドプレイ」の種類のアプリケーションである必要があります。そのため、ユーザーにアプリの変更を求めることはできません。 –

1

この場合、ユーザーがPHPファイルをまったく編集しないようにします。あなたが指摘したように、そのコンテンツを信頼できない場合は、include()ファイルを読むことはできません。 PHPでファイルを実行することはできませんので、ファイルにはでも PHPであるという利点はありません。したがって、独自のスクリプトで読みやすい形式を選択することができます。たとえば、parse_ini_file関数を使用すると、.iniファイルから設定値を簡単に読み取ることができます。

PHPファイルが絶対必要な場合は、手動で解析する必要があります。ファイルがPHPのサブセットであることを要求できる場合(たとえば、変数宣言以外に何も含まれていない)、実行可能なように聞こえるが、それでもなお非常にハッキングしている。ファイルが合法的に機能するPHPスクリプトであれば、いくつかの変数が定義されている可能性があります。おそらく、アーキテクチャを完全に再考する時期です。

3

のfile_get_contents +するpreg_match

あなたはそれと一緒に行くためにいくつかの狡猾な正規表現が必要になります。

関連する問題