我正在尝试将网页作为电子邮件发送。此网页的内容基于变量,使用_GET方法调用这些变量。
我有这部分代码,如果我没有在网址中添加任何变量,则可以正常工作,但只要在网址后面写[function.file-get-contents]: failed to open stream: No such file or directory in...
,就会回复?variable=
。
<?
$var_one = $_GET['var_one'];
$var_two = $_GET['var_two'];
$from = "Company name";
$from_email = "company@mail.com";
$email_text = file_get_contents("mail_this_page.php?varone=".$var_one."&vartwo=".$var_two);
$headers = "From:abc@mail.com";
$headers = "From: $from <$from_email>\r\n".
"MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8" . "\r\n";
mail('guest@mail.com', 'Hello', $email_text, $headers);
?>
所以,问题出在file_get_contents
行。
$email_text = file_get_contents("mail_this_page.php");
有效,但
$email_text = file_get_contents("mail_this_page.php?varone=".$var_one."&vartwo=".$var_two);
没有。我究竟做错了什么?如何使用此方法传递变量?
答案 0 :(得分:0)
函数file_get_contents()
将文件名的字符串作为参数。然后,这将用于检查文件系统中是否具有该确切名称的文件。由于您传递的文件名不会在扩展名“.php”处结束,因此它正在查找名称中包含“?”之后(包括)所有内容的文件。
它确实在硬盘上寻找文件mail_this_page.php?varone = VAR_ONE&amp; vartwo = VAR_TWO(假设变量如此评估)。