


Implementation method of generating static pages based on PHP_PHP tutorial
t1.php
//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
%title%

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
