Implementation method of generating static pages based on PHP_PHP tutorial

WBOY
Release: 2016-07-21 15:11:16
Original
867 people have browsed it

t1.php

Copy code The code is as follows:

//Based on method one The template generates a static page
// The replaceTemplateString function is used to replace the specified string in the template
function replaceTemplateString($templateString) {
// Variable used for replacement
$title = "Article title";
$body = "Here is the body of the article";
//Replace the string specified in the template
$showString = str_replace ("%title%", $title, $templateString);
$showString = str_replace ( "%body%", $body, $showString );
// Return the replaced result
return $showString;
}


$template_file = "template.html";
$new_file = "new.html";
// Template file pointer
$template_juBing = fopen ( $template_file, "r" ) ;
//The file pointer to be generated
$newFile_juBing = fopen ( $new_file, "w" );

// Method 1: Get the overall template content string, replace it and assign it to the new file
$templateString = fread ( $template_juBing, filesize ( $template_file ) );
$showString = replaceTemplateString ( $templateString ); // Replace the string in the template
fwrite ( $newFile_juBing, $showString ); // Write the replaced content into the generated HTML file

/*
// Method 2 loops to read the content string of each line of the template, replace it and add it to the new file in sequence
while ( ! feof ( $template_juBing ) ) { // feof() function checks whether End of file reached. Returns TRUE if the file pointer reaches the end or an error occurs. Otherwise, return FALSE (including socket timeout and other situations).
$templateString = fgets ( $template_juBing ); // fgets(file,length) reads a line from the file pointer and returns a string with a length of at most length - 1 bytes, including newlines. If length is not specified, it defaults to 1K, or 1024 bytes.
$showString = replaceTemplateString ($templateString);
fwrite ($newFile_juBing, $showString); // When writing content to the opened pointer file for the first time, the original content in the pointer file will be replaced. Before the pointer is closed, the fwrite function will add content after the added content
}
*/
// Close the file pointer
fclose ( $newFile_juBing );
fclose ( $template_juBing );

/*
The relationship between database and static page
Usually, after adding a piece of information in the database, a static page of the information is generated, so it is best to add a field in the database table to store the path of the corresponding static page File name for future modification, delete

Template replacement
Generally speaking, if you need to modify the template of a static HTML page, the usual approach is to delete all generated HTML pages and then recreate a new HTML page. (Or in other words, re-overwrite and generate them all)

Dynamic operations on static pages
Sometimes, some dynamic operations also need to be performed on the static HTML pages created. For example, each news article in the news system needs to count the click rate.
You can use an image control with a width and height of 0 pixels to hide the call to a php page to implement the page counter function, such as

Static page of link directory
Usually for systems that use static pages, the directory page of the link list will also generate static HTML files for visitors to browse
Note that every time a database entry is added or removed Information will have an impact on the linked list, so the static page of the linked directory needs to be updated every time database information is added or deleted.
Paging design can be completed by creating multiple static pages with linked directories.
*/


// Method 2 generates based on the buffer
ob_start (); // When the buffer is activated and there is ob_end_clean(), all non-file header information will not be output. Printed to the page, instead saved in an internal buffer. If there is no ob_end_clean(), the information is both stored in the internal buffer and output and printed
?>
this is test Output Control
echo "
this is test Output Control
";
include_once 'cache/newFile.php';

$contents = ob_get_contents (); // Get the information stored in the buffer so far. The buffer only saves the content that will be output and printed to the page browser. PHP execution code will not be saved.
// $contents = ob_get_clean(); // Get the information stored in the buffer so far and close the clear buffer

// ob_end_flush(); // Output the information stored in the print buffer so far and close the clearing Buffer

ob_end_clean (); // Turn off clearing buffer contents

file_put_contents ( $new_file, $contents ); // Write content to the file

?>


template.html
Copy code The code is as follows:





% title%


%title%







www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/326972.htmlTechArticlet1.php Copy the code as follows: ?php // Method 1 generates a static page based on the template // Use the replaceTemplateString function Specify the string function replaceTemplateString(...
in the replacement template
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!