2012-02-09 4 views
0

필자는 특정 시점에서 다른 스크립트를 포함하고자하는 PHP 스크립트를 가지고 있지만 원본 파일과 별개로 함수 또는 클래스에서 호출 할 필요없이 스크립트를 실행하고 싶습니다. :호출하지 않고 포함 된 스크립트를 실행하는 방법은 무엇입니까?

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

그러나 포함 된 스크립트는 해당 파일의 함수로 정의하고 원본에서 호출해도 작동하지 않습니다. require_once, include_once를 사용했으나 필요로하지 않습니다. 내가 성취하려는 것을 얻기 위해 무엇을해야합니까?

+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을보아야합니다. 다른 파일로 만들지 모르겠다. 포함 된 파일 이름을 대괄호로 묶을 것이다.

관련 문제