2012-02-09 12 views
0

私は特定の時点で別のスクリプトを含めることを望むPHPスクリプトを用意していますが、スクリプトを元のファイルとは別のものとして実行し、関数やクラスから呼び出す必要はありません:呼び出されずにインクルードされたスクリプトを実行するには?

if(strpos('X-Mailer: Microsoft Outlook', $raw_headers)) { 
include 'outlookImageParse.php'; 
outlookImageParse($html_part); 

しかし、私がそれをそのファイルの関数として定義して元のファイルから呼び出すときでさえ、インクルードされたスクリプトは機能しません。私はrequire_once、include_onceを使いましたが、requireしていましたが、どのようにしたいのですか。何を達成しようとしているのか?

+0

「元のファイルのようにスクリプトを実行したい」とは何ですか? –

+1

それだけで動作するはずです。あなたが何をしたいのか、何が「うまくいかないのか」を具体的に説明してください。 –

+0

'if'文は実行されていますか? –

答えて

0

include()(または、などが必要な場合)は、ファイルが直接ファイルにドロップされたかのように扱われます(正確にはincludeの場合)。次の例を参照してください。

file1.php

<?php 
$var1 = 'hello'; 
$var2 = 123; 

include('file2.php'); 

echo $var4; // echoes "bbq" 

$var5 = 123456; 
func1($var5); // echoes "Function! 123456" 
?> 

file2.php

<?php 
echo $var1; // echoes "hello" 

$var4 = 'bbq'; 
function func1 ($var) 
{ 
    echo 'Function! ' . $var; 
} 
?> 
+1

インクルードファイルの 'return'動作について忘れないでください:http://php.net/manual/en/function.include.php#example-130 – Shad

+0

忘れないでください?私はそれについて知らなかった:P興味深い。 – Joe

+0

私はまさにこれをやっていますが、実際にはファイル内に直接ドロップされているかのように扱っているわけではありません。 – Tower

0

あなたはコードインジェクションを参照していますか?ベストプラクティスのアドバイスについては、Best way to avoid code injection in PHPをご覧ください。私はそれが違うかどうかわからない、私も含まれているファイル名の括弧を入れます。

関連する問題