Home Backend Development PHP Tutorial Implementation method of generating static pages based on PHP_PHP tutorial

Implementation method of generating static pages based on PHP_PHP tutorial

Jul 21, 2016 pm 03:11 PM
php one code based on copy accomplish method stencil generate of static

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

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

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

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

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

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

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

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,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

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

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

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

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

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 PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

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.

See all articles