回答
简单:你不能这样做。您可以事先包含该文件,将其存储在一个变量中,然后将其插入到文件中。例如:
$links_contents = file_get_contents('links.php');
//$links_contents = eval($links_contents); // if you need to execute PHP inside of the file
$content = <<<EOF
{$links_contents}
EOF;
你可以这样说:
ob_start();
include 'links.php';
$include = ob_get_contents();
ob_end_clean();
$content = <<<EOF
{$include}
EOF;
你可以将ob_get_contents和ob_end_clean结合到ob_get_clean中:) – NikiC 2010-09-16 19:23:54
你说的不工作呢?正如在“links.php”的内容不在$内容中?如果多数民众赞成你想要尝试使用输出流重定向(或只是读取文件)。
<?php ob_start(); include 'links.php'; $content = ob_get_contents(); ob_end_clean(); echo "contents=[$content]\n"; ?>
*叹息*每当我回答一个没有答案的问题时,在我可以完成打字之前,有3或4个答案。 – troutinator 2010-09-16 19:18:34
根本不要使用heredoc。
如果您需要输出您的内容 - 只需按原样输出,而不将其存储在变量中。
输出缓冲的使用可能非常有限,我相信在这里不是这种情况。
只准备您的数据,然后使用纯HTML和PHP输出。
使您的网页这样的(直接从近期其他的答案):
news.php:
<?
include "config.php"; //connect to database HERE.
$data = getdbdata("SELECT * FROM news where id = %d",$_GET['id']);
$page_title = $data['title'];
$body = nl2br($data['body']);
$tpl_file = "tpl.news.php";
include "template.php";
?>
的template.php:
<html>
<head>
<title><?=$page_title?></title>
</head>
<body>
<? include $tpl_file?>
</body>
tpl.news.php
<h1><?=$page_title?></h1>
<?=$body?>
<? include "links.php" /*include your links anywhere you wish*/?>
- 1. 将常量(不可变)插入heredoc?
- 2. 如何在MySQL插入语句中包含PHP变量
- 3. CKEditor插件 - 插入PHP,不包含变量
- 4. php变量包含和html代码包含一个php变量
- 5. PHP变量包含单引号时未插入MySQL查询
- 6. 如何将包含路径的变量插入sed
- 7. 带变量插值的Lua heredoc?
- 8. 从包含变量的表单插入变量到MYSQL
- 9. PHP变量:包含文件?
- 10. 包含PHP变量到CSS
- 11. Php如何在变量名中包含另一个变量
- 12. 将变量插入到bash脚本中mongodb命令heredoc
- 13. 如何获取PHP变量并在变量的值中包含空格时将其插入HTML中?
- 14. 包含PHP代码的PHP变量中
- 15. PHP:在shell_exec中包含php变量
- 16. 如何将PHP代码存储在heredoc变量中?
- 17. PHP While循环 - 使用Heredoc多次写入变量
- 18. 插入JavaScript变量在PHP
- 19. 插入两个变量php
- 20. 如何在php变量中包含php include语句?
- 21. 如果对变量插入表php
- 22. MySQL的查询包含PHP变量,其中包含另一个变量
- 23. 如果变量包含
- 24. PHP:在包含文件被包含之前,如何引用变量?
- 25. 插入包含CSV的MYSQL变量到表
- 26. 在OCI8插入语句中包含一个变量
- 27. 如何插入包含撇号的值?
- 28. 如何插入包含“;”的字符串
- 29. 如何插入包含“&”的字符串
- 30. 如何插入包含外键的表
这将包含'links.php'的来源,而不是执行的内容。 – Rudu 2010-09-16 19:13:50
运行'file_get_contents'后不要'eval'。它不会像你期望的那样工作。原因是'include'(也就是'links.php'文件)从关闭PHP解释器开始。这就是为什么你需要'<?php'来打开它(它开始于非代码上下文)。 'eval'首先打开解释器(你不需要用'<?php'前缀php代码来让它工作)。所以它不会像你期望的那样工作。更不用说'eval'的其他弊端......所以-1对于那些不好的建议来说不起作用...... – ircmaxell 2010-09-16 20:47:39