如何将PHP文件加载到变量中?

Kom*_*uwa 90 php file

我需要将PHP文件加载到变量中.喜欢include();

我加载了一个简单的HTML文件,如下所示:

$Vdata = file_get_contents("textfile.txt");
Run Code Online (Sandbox Code Playgroud)

但是现在我需要加载一个PHP文件.

Ali*_*xel 113

我想你想要获取PHP生成内容,如果是这样的话,请使用:

$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
Run Code Online (Sandbox Code Playgroud)

否则,如果您想获取PHP文件源代码,它与.txt文件相同:

$Vdata = file_get_contents('path/to/YOUR/FILE.php');
Run Code Online (Sandbox Code Playgroud)

  • 如果我想在不使用http而直接使用路径的情况下获取"PHP生成的内容"该怎么办? (5认同)
  • @Osa:根据您的需要,您可以使用`eval()`或者如果您正在处理更复杂的代码:https://github.com/nikic/PHP-Parser. (4认同)
  • 为此实现一个PHP解析器似乎是一个巨大的矫枉过正 (2认同)

neo*_*bie 112

ob_start();
include "yourfile.php";
$myvar = ob_get_clean();
Run Code Online (Sandbox Code Playgroud)

ob_get_clean()

  • 因为您不再使用 http,所以在这种情况下您需要通过 $_GET 传递值。 (2认同)

Ant*_*ida 10

如果您的文件有这样的 return 语句:

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

您可以将其设置为这样的变量:

$data = include $filePath;
Run Code Online (Sandbox Code Playgroud)

  • plus1 谢谢,这就是我正在寻找的 (2认同)

Jon*_*eiß 6

如果您使用的是http://,正如eyze建议的那样,您将只能读取PHP脚本的输出.如果PHP脚本与运行脚本位于同一服务器上,则只能读取它本身.然后你可以使用类似的东西

$Vdata = file_get_contents('/path/to/your/file.php");
Run Code Online (Sandbox Code Playgroud)


Jes*_*ess 6

如果要在不通过Web服务器运行的情况下加载文件,则以下内容应该有效.

$string = eval(file_get_contents("file.php"));
Run Code Online (Sandbox Code Playgroud)

这将加载然后评估文件内容.PHP文件需要完全形成,<?php并使用?>标记eval来评估它.