我希望能够通过 file_get_contents()
将一些变量发送到文件。
这是 firstfile.php:
<?php
$myvar = 'This is a variable';
// need to send $myvar into secondfile.php
$mystr = file_get_contents('secondfile.php');
?>
这是 secondfile.php:
The value of myvar is: <?php echo $myvar; ?>
我希望变量$mystr
等于'The value of myvar is: This is a variable'
在 PHP 中是否有任何其他函数可以让您执行此操作?
最佳答案
获取文件的内容和运行脚本有很大区别:
include
— 此 PHP 指令运行指定文件作为脚本,范围与include
所在的范围相同打电话。因此,要将变量“传递”给它,您只需在调用include
之前定义它们即可。 . <强>include
只能在本地使用(只能包含与 PHP 服务器相同文件系统上的文件)。file_get_contents
— 在本地获取文件时,这只是检索文件中包含的文本。没有完成 PHP 处理,因此无法“传递”变量。如果你检查$myvar
在上面的示例中,您会看到它包含确切的字符串“<?php echo $myvar; ?>
”——它还没有被执行。然而,PHP 通过允许
file_get_contents
使一些事情有点困惑。拉入“远程”文件的内容——一个互联网地址。在这种情况下,概念是相同的——PHP 只是提取该地址中包含的任何内容的原始结果——但是 PHP、Java、Ruby 或在该远程 服务器上运行的任何其他内容可能已执行某些操作以产生该结果。在那种情况下,您可以根据 URL 的规范(如果它是 API 或类似的东西)在 URL 中“传递”变量(称为
GET
请求参数)。无法传递您选择的变量,这些变量未指定在将由该远程服务器处理的脚本中处理。注意:提到的“远程服务器”可以是您自己的服务器,但要小心,因为如果您真的不知道它是如何工作的,那会使事情更加困惑(它成为第二个完全独立的请求)。 通常没有充分的理由这样做而不是使用
include
。 ,即使他们可以取得相似的结果。
关于PHP 发送变量到 file_get_contents(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6905706/