2009-09-17 4 views
0

В настоящее время я использую функцию PHP() для отправки по электронной почте HTML-кода другого файла PHP с использованием конкатенации.PHP: отправка по электронной почте HTML-кода шаблона PHP

Это в настоящее время работает нормально, однако я бы предпочел, чтобы сценарий просто получил обработанное тело HTML, а не используя метод конкатенации.

Я прочитал несколько незавершенных сообщений на форуме об использовании fopen() и fread(), но мне не повезло. Любой вывод, который я получил на работу, не проанализировал PHP внутри файла.

Есть ли функция, которая может это сделать?

ответ

3

Вы можете сделать:

ob_start(); 
require 'some_script.php'; 
$html = ob_get_clean(); 

, а затем у вас есть выход сценария.

Если вам нужно позвонить по URL-адресу, вы можете сделать это с помощью cURL, или вы можете использовать fopen()/fread() с URL-адресом, если эта опция включена в вашей настройке PHP. Я думаю, что этот вариант называется allow_url_fopen или что-то подобное.

$handle = fopen("http://www.example.com/", "r"); 
$output = fread($bundle, 20000); 
+0

Использование буферизации вывода, безусловно, лучший способ пойти, если он находится на вашем собственном сервере ... Меньше служебных и памяти, чем комбинация fopen/fread. – BraedenP

+0

Точно, что я искал, отлично работает, спасибо! – ticallian

+0

Просто хотел указать, что ob_start() может принимать аргумент обратного вызова, который может сэкономить вам несколько строк кода. –

Смежные вопросы