我在一个文件中有一个简报模板,在另一个文件中有一个邮件脚本,它基本上从数据库中提取电子邮件地址,并循环通过每个发送电子邮件给他们的电子邮件地址。
我正在使用此代码获取简报模板的内容:
$content = file_get_contents('attach/T_newsletter.php');
我现在需要做的是发送PHP变量,例如:
T_newsletter.php?test=hello
然后能够从模板中的URL中提取它们并相应地调整内容。
有人可以解释一下我会怎么做?
感谢您的帮助
答案 0 :(得分:3)
的file_get_contents( '附连/ T_newsletter.php');
哇!停在那儿。如果这不是PHP源代码,那么它不应该有.php扩展名 - 如果它是PHP源代码,那么你不应该在邮件列表中发送它。
如果要执行文件中的代码,则不是这样做的。一种方法是通过HTTP访问文件,例如
file_get_contents('http://localhost/attach/T_newsletter.php');
虽然这简化了将参数传递给脚本,但它仍然是一个相当混乱的解决方案。
解决问题的另一种非常可怕的方法是....
ob_start();
include('/attach/T_newsletter.php');
$content=ob_get_contents();
ob_end_flush();
实现此目的的正确方式是
1)作为包含文件中的函数(或类):
require_once ('/attach/T_newsletter.php');
$content=generate_newsletter($params);
2)将文件用作DATA文件模板:
$template=file_get_contents('/attach/T_newsletter.data');
$content=preg_replace($template_vars, $template_values, $template);
答案 1 :(得分:2)
如果你想这样做,你需要将该文件称为“T_newsletter.php”作为URL的一部分:
$content = file_get_contents("http://yourdomain.com/T_newsletter.php?test=hello");
并在T_newsletter.php内:
<?php
$v = $_GET['test']; // this will be 'hello'
if($v == 'hello')
{
...
}
else
{
...
}
?>
答案 2 :(得分:0)
$response=file_get_contents("attach/T_newsletter.php?test=hello");