PHP - file_get_contents()在字符串中有变量?

Rya*_*yan 4 php file-get-contents phpmailer

我收到此订单时,我试图通过PHPMailer向客户发送电子邮件.我尝试这样做:

        $email_page = file_get_contents("email_order_html.php?order=$order_id");
Run Code Online (Sandbox Code Playgroud)

我想把这个页面的内容作为字符串,所以我可以用PHPMailer发送它,但是这个函数不会执行页面,因为它中的变量$ order_id,我该如何解决这个问题?

Gor*_*don 5

您只能在使用file_get_contentsUrl Aware Stream Wrapper 时添加查询参数,例如它可以使用http://localhost/yourfile.php?foo=bar.这样做会使用指定的查询参数向localhost上的Web服务器发出HTTP Get Request.将处理该请求并返回请求的结果.

file_get_contents仅使用文件名时,不会有任何HTTP请求.该呼叫将直接进入您的文件系统.您的文件系统不是Web服务器.PHP只会读取文件内容.它不会执行PHP脚本,只会返回其中的文本.

您应该include该文件并调用脚本手动执行的任何操作.如果脚本依赖于order参数,请$_GET['order'] = $orderId在包含文件之前设置它.