我想以 HTML 格式获取 php 文件的内容。我将它用作 HTML 电子邮件模板,但它需要使用我的数据库中的动态数据进行填充。
我试过了
file_get_contents('/emails/orderconfirm.php');
但所做的只是在服务器将 php 代码处理为 HTML 之前将其返回。
我想这真的很容易吗?任何想法将不胜感激。
谢谢
为了执行你的特定代码emails/orderconfirm.php
,你需要包含它的内容。
包含的内容将被编译和渲染。
但是,您需要获取内容,只要您echo
这样,您需要使用ob_start()库。
这是一个用法示例:
ob_start(); //Init the output buffering
include('emails/orderconfirm.php'); //Include (and compiles) the given file
$emailContent = ob_get_clean(); //Get the buffer and erase it
编译后的内容现在存储在您的$emailContent
变量中,您可以按照自己的方式使用它。
$email->body = $emailContent;
ob_start();
require 'emails/orderconfirm.php';
$email = ob_get_clean();
您已关闭,请插入完整的 URL
file_get_contents('http://example.com/emails/orderconfirm.php');
尝试访问完整的 http 地址,例如:
file_get_contents('http://mydomain.com/emails/orderconfirm.php');