То, что я пытаюсь сделать, это отправить файл excel в виде вложения, созданного из файла smarty tpl, так что в настоящее время это то, что я делаю:
$smarty->display('export-report.tpl');
$name=str_replace(" ","",$_POST['catname'])."_".date('d-m-Y');
Header("Content-Type: application/vnd.ms-excel");
Header("Content-Disposition: attachment; filename=".$name.".xls");
Но то, что я хочу сделать дальше, вместо того, чтобы загружать этот файл excel непосредственно из браузера, я хочу его добавить и отправить в электронном письме, чтобы сделать это, я сначала сохраняю файл на своем сервере и создаю этот файл excel Мне нужно содержимое excel (html, содержащееся в файле tpl), чтобы находиться внутри переменной php.
Поэтому мой вопрос: как мне это получить:
$smarty->display('export-report.tpl');
Чтобы содержаться в такой переменной:
$content
Благодарю.
Вам нужно использовать метод fetch
следующим образом:
$content = $smarty->fetch('export-report.tpl');
РЕДАКТИРОВАТЬ
Возможно, вы хотите просто изменить порядок таким образом:
$name=str_replace(" ","",$_POST['catname'])."_".date('d-m-Y');
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=".$name.".xls");
$smarty->display('export-report.tpl');
или
$content = $smarty->fetch('export-report.tpl');
$name=str_replace(" ","",$_POST['catname'])."_".date('d-m-Y');
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=".$name.".xls");
echo $content;