Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Download PHP generated webpage as HTML file

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)

like image 416
MeltingDog Avatar asked Oct 26 '12 04:10

MeltingDog


2 Answers

<?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.

like image 170
Zorji Avatar answered Sep 29 '22 21:09

Zorji


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...";

?>
like image 35
Abhishek Saha Avatar answered Sep 29 '22 20:09

Abhishek Saha