[php] PHP 파일을 변수에 어떻게로드합니까?

PHP 파일을 변수에로드해야합니다. 처럼include();

다음과 같은 간단한 HTML 파일을로드했습니다.

$Vdata = file_get_contents("textfile.txt");

하지만 이제 PHP 파일을로드해야합니다.



답변

다음을 사용하는 경우 PHP의해 생성 된 콘텐츠 를 얻고 싶다고 가정합니다 .

$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');

그렇지 않으면 PHP 파일소스 코드 를 얻으려면 .txt 파일과 동일합니다.

$Vdata = file_get_contents('path/to/YOUR/FILE.php');


답변

ob_start();
include "yourfile.php";
$myvar = ob_get_clean();

ob_get_clean ()


답변

eyze가 제안한 것처럼 http : //를 사용 하는 경우 PHP 스크립트의 출력 만 읽을 수 있습니다. 실행중인 스크립트와 동일한 서버에있는 경우에만 PHP 스크립트 자체를 읽을 수 있습니다. 그런 다음 다음과 같은 것을 사용할 수 있습니다.

$Vdata = file_get_contents('/path/to/your/file.php");


답변

웹 서버를 통해 실행하지 않고 파일을로드하려면 다음이 작동합니다.

$string = eval(file_get_contents("file.php"));

그러면 파일 내용이로드됩니다. PHP 파일은 평가 를 위해 <?php?>태그 로 완전히 구성 eval되어야합니다.


답변

이론적으로는 fopen을 사용한 다음 stream_get_contents를 사용할 수 있습니다.

$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);

전체 파일을 $ string으로 읽어야하며 평가해서는 안됩니다. 나는 당신이 로컬 경로를 지정할 때 file_get_contents가 작동하지 않았다는 것에 놀랐습니다 ….


답변

또는 출력 버퍼링을 시작하고 포함 / 요구를 수행 한 다음 버퍼링을 중지 할 수 있습니다. ob_get_contents ()를 사용하면 다른 PHP 파일에서 출력 한 내용을 변수로 가져올 수 있습니다.


답변

파일에 다음과 같은 return 문이있는 경우 :

<?php return array(
  'AF' => 'Afeganistão',
  'ZA' => 'África do Sul',
  ...
  'ZW' => 'Zimbabué'
);

이것을 다음과 같은 변수로 가져올 수 있습니다.

$data = include $filePath;