file_get_contents 加上 file_exists (在被调用的文件内)
Posted
技术标签:
【中文标题】file_get_contents 加上 file_exists (在被调用的文件内)【英文标题】:file_get_contents plus file_exists (inside the file which gets called) 【发布时间】:2016-12-31 22:07:07 【问题描述】:我有许多不同的模板用于发送电子邮件! 所以我制作了一个php文件(我们称之为send.php),我想用file_get_contents和一些参数(决定应该使用哪个模板)从另一个文件(如finish.php)“调用”它!
不同的路径:
-
模板(“/phpmailer/templates/”)
send.php("/phpmailer/send.php")
finish.php ("/courses/finish.php")
工作链接本身看起来像这样:
http://www.myadress.at/phpmailer/send.php?template=booking&email=bla@bla.at&name=Christopher
在 send.php 中,我检查模板是否存在,如果是,则发送邮件!
if (file_exists(dirname(__FILE__)."/templates/".$template.".php") AND isset($email))
$mail->msghtml(file_get_contents('https://www.myadress.at/phpmailer/templates/'.$template.'.php?'.$parameter.''), dirname(__FILE__));
if (!$mail->send())
echo "Mailer Error: " . $mail->ErrorInfo;
else
echo "Message sent!";
else
ERROR
现在,当有人预订课程或其他内容时,填写注册表单后,我想从文件中发送一封确认电子邮件,此人在表单后登陆(finish.php)
我的 finish.php 文件只有一个 file_get_contents 和我的 send.php 文件的路径:
$sendmail= file_get_contents("https://www.myadress.at/phpmailer/send.php?template=booking-confirmation&email=".urlencode($email)."");
现在的问题是,当尝试通过 file_get_contents 从finish.php 使用它时,他说模板不存在...将相同的链接复制到firefox 时,一切正常.. 模板的名称是正确的!
我尝试了以下方法:
(file_exists(dirname(__FILE__)."/templates/".$template.".php") - with dirname
(file_exists("/templates/".$template.".php") - the normal path
(file_exists("/phpmailer/templates/".$template.".php") - full path
(file_exists("http://www.myadress.at/phpmailer/templates/".$template.".php") - normal url
请帮帮我^^也许这不可能哈哈
【问题讨论】:
【参考方案1】:好的,现在一切正常!
问题是由 url 中的一些空格引起的,或者是因为我没有对每个变量进行 urlencode..
啊啊啊好多次了!
【讨论】:
以上是关于file_get_contents 加上 file_exists (在被调用的文件内)的主要内容,如果未能解决你的问题,请参考以下文章
file_get_contents() 分解 UTF-8 字符