Reputation: 15490
I am using a PHP based CMS which uses <include>
to add the header and footer of the page, and the content of page is retrieved from a database using PHP/MySQL.
I want to create a button on the page that downloads the page as a HTML file - just like what you would get if you copied the page source onto a blank file or saved the page with your browser.
Normally I would use PHP to locate the file and download it, as this is a CMS generated page these is no actual file.
Does anyone know how to achieve this?
(ps - the aim of this is to create a downloadable HTML email file)
Upvotes: 5
Views: 26058
Reputation: 1072
<?php
$filename = 'filename.html';
header('Content-disposition: attachment; filename=' . $filename);
header('Content-type: text/html');
// ... the rest of your file
?>
Just put the above code on the top of your PHP file.
Upvotes: 8
Reputation: 2564
You can try this with file_get_contents();
<?php
//Link to download file...
$url = "http://example.com/test.php";
//Code to get the file...
$data = file_get_contents($url);
//save as?
$filename = "test.html";
//save the file...
$fh = fopen($filename,"w");
fwrite($fh,$data);
fclose($fh);
//display link to the file you just saved...
echo "<a href='".$filename."'>Click Here</a> to download the file...";
?>
Upvotes: 6