PHP 发送变量到 file_get_contents()

标签 php file-get-contents

我希望能够通过 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/

相关文章:

php - 连接 CSV 文件的每第 n 行

使用 JDBC 的 Java MySQL 查询

php - 获取 json 数组中的条目数

php - 文件获取内容 : get full response even on error

php - 将文本/javascript 加载到 PHP 页面中

php - 分页 PHP 通讯录

php - $_POST[] - 不同的提交按钮不是恒定的

PHP MySQL返回特殊字符

php - 使用 Guzzle 将文件发布到 Web 服务

php - 使用php从文本文件中删除文本