2011-08-01 2 views
1

파일의 내용을 문자열로로드하고 싶습니다. 이 파일에는 일부 PHP 코드가 들어 있으며 제대로 작동하려면 몇 가지 변수가 필요합니다.여러 파일 내용을 문자열로로드하는 가장 좋은 방법은 무엇입니까?

이것을 달성하는 가장 효율적인 방법은 무엇입니까?

for ($i = 0; $i < 10; $i++) 
{ 
    $_SESSION[$key] = $i; 
    $content .= file_get_contents($fileName); 
} 

가 그럼 난로드 된 파일에서 변수에 액세스 할 수 있습니다 세션 변수와

:

는 여기에 내가 그렇게 좋은 것이라고 생각하는 방법입니다. 가져 오기 방법으로

: 포스트 방법으로

for ($i = 0; $i < 10; $i++) 
{ 
    $content .= file_get_contents($fileName."?key=$i"); 
} 

는 :

for ($i = 0; $i < 10; $i++) 
{ 
    $postData = http_build_query($i); 
    $opts = array('http' => 
        array(
         'method' => 'POST', 
         'header' => 'Content-type: application/x-www-form-urlencoded', 
         'content' => $postData 
       ) 
    ); 

    $context = stream_context_create($opts); 
    $content .= file_get_contents($fileName, false, $context); 
} 

나는 그렇게 모든 낫다고의 방법에 열려있어. 여기

은 파일 내용의 exemple의 :

<?php echo $_GET['key']; /*(or $_POST or $_SESSION)*/ ?> 

는 예를 들어, 당신은 출력 버퍼링을 사용하려면 같은

0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
+0

달성을 위해 무엇을 설명하십시오. 입력/출력 – Dani

+0

10x 루프는 무엇입니까? – Phil

+0

@Phil thats 임의의 숫자, 그냥 파일을 여러 번로드하려는 보여주고 싶습니다. –

답변

2

는 소리 출력,

$content = ''; 
for ($i = 0; $i < 10; $i++) { 
    ob_start(); 
    include $fileName; 
    $content .= ob_get_contents(); 
    ob_end_clean(); 
} 

을이 가정되는 것이다 당신의 파일은 다음과 유사합니다.

echo $i, PHP_EOL; 
+0

그러나 $ foo 변수는 file.php에 어떻게 전달됩니까? –

+0

@JeanPhilippe 질문의 코드와 더 잘 일치하도록 답변을 업데이트했습니다. 파일을'include '할 때, 호출 범위를 상속받습니다. – Phil

+0

출력 버퍼링 ('ob_')이 이것을 수행하는 가장 좋은 방법입니다, 좋은 대답입니다 –

관련 문제