<?php
/**
------------------------
Function: php2html($in_Url, $out_htmlFile, $out_logFile)
------------------------
@ Description: 生成静态函数
@ Copyright: Copyright (c) 2006 - 2011 MY55.com.cn
@ Create: 2006-08-01
@ Modify: 2006-10-27
@ 提示:这里要用到的路径为服务器绝对路径; 若给定的路径目录不存在则自动创建
=======================================================================================
@ Example:php2html("http://www.baidu.com", "/www/html/index.html", "/www/log/log.txt");
*/
// {{{ contents
function php2html($in_Url, $out_htmlFile, $out_logFile)
{
$htmlContent = file_get_contents($in_Url); //将文件读入 $htmlContent 变量
/**
* @检查要生成的文件是否存在
*/
if (is_file($out_htmlFile))
{
@unlink($out_htmlFile);//若文件已存在,则删除
}
/**
* @ 创建目录 网页部分
*/
$dir_array = explode("/", dirname($out_htmlFile));
chdir("/"); //改变目录到根
for($i=1;$i<count($dir_array);$i++)
{
if(is_dir($dir_array[$i]))
{
chdir($dir_array[$i]);
}
else
{
mkdir($dir_array[$i]);
chdir($dir_array[$i]);
}
}
/**
* @ 创建目录 日志部分
*/
$dir_array = explode("/", dirname($out_logFile));
chdir("/"); //改变目录到根
for($i=1;$i<count($dir_array);$i++)
{
if(is_dir($dir_array[$i]))
{
chdir($dir_array[$i]);
}
else
{
mkdir($dir_array[$i], 0777);
chdir($dir_array[$i]);
}
}
$handle = fopen($out_htmlFile, "w"); //打开文件指针,创建文件
$logHandle = fopen ($out_logFile, "a+"); //打开日志文件
/**
* @检查目录是否可写
*/
if (!is_writable($out_htmlFile))
{
echo "文件:".$out_htmlFile."不可写,请检查目录属性后重试";
exit();
}
if (!is_writable($out_logFile))
{
echo "文件:".$out_logFile."不可写,请检查目录属性后重试";
exit();
}
/**
* @写入文件
*/
if (!fwrite ($handle, $htmlContent))
{
$logMsg = "写入文件" . $out_htmlFile . "失败";
}
else
{
$logMsg = "创建文件" . $out_htmlFile . "成功";
}
/**
* @记录日志
*/
$logMsg .= "(".date("Y-m-d H:i:s") .")\r\n";
fwrite ($logHandle, $logMsg);
fclose($logHandle); //关闭日志指针
fclose ($handle); //关闭指针
}
// }}}
php2html("http://www.baidu.com", dirname(__FILE__)."/yanjing_html/index.html", dirname(__FILE__)."/yanjing_log/log.txt");
echo "成功";
?>
分享到:
相关推荐
2. 执行需要生成静态页面的PHP代码。 3. 定义静态HTML文件的名称。 4. 写入缓冲区内容到静态HTML文件。 5. 关闭文件。 6. 返回缓冲区内容给浏览器。 这种方法虽然简单有效,但也有其局限性,例如无法自动更新静态...
这个“最简单的php生成静态页的类”就是一个实现这种功能的示例。 首先,我们需要理解PHP生成静态页面的基本原理。在动态网站中,每次有用户访问时,服务器都会运行PHP脚本来生成HTML页面并发送给浏览器。而在静态...
当我们谈论"PHP生成静态页"时,我们指的是通过PHP脚本动态生成HTML页面,然后将其保存为静态文件,以便后续的用户请求可以直接访问这些预先生成的页面,而无需每次请求都执行PHP代码。这种方法可以提高网站的加载...
当我们谈论"PHP生成静态页面源码"时,我们是指通过PHP脚本将动态内容转化为HTML文件,这些HTML文件可以独立存在于服务器上,不依赖数据库或PHP解释器来展示内容。这种方式有助于提高网站的加载速度,减轻服务器负担...
总结来说,PHP生成静态HTML文件是通过输出缓冲区技术实现的,它能够帮助我们将动态生成的内容批量写入文件,提升网站性能,优化SEO,并降低服务器压力。通过结合其他PHP函数和工具,我们可以构建更复杂、高效的静态...
### PHP生成静态页面教程知识点详解 #### 一、PHP脚本与动态页面的基本概念 - **PHP脚本**:PHP是一种服务器端脚本语言,它能够嵌入到HTML文档中或者独立作为脚本来运行。PHP的主要功能在于处理数据、生成动态内容...
总结起来,PHP生成静态页面的核心是利用`ob_start()`开启缓冲,通过Smarty处理和渲染模板,然后使用`ob_get_contents()`获取缓冲区的HTML内容,最后调用文件操作函数将内容写入静态HTML文件。这种方式虽然相对复杂,...
PHP生成静态HTML的技术原理主要涉及网站优化、性能提升和服务器负载均衡等方面,是现代Web开发中的常见实践。静态HTML页面相比于动态PHP页面,具有更快的加载速度和更低的服务器资源消耗,尤其对于高访问量的网站,...
2. 模板系统:使用模板引擎(如Smarty、Twig等)或PHP内置的字符串处理函数,创建一个城市分站的HTML模板。模板应包含城市名称、特色信息等内容的占位符。 3. 循环遍历:遍历城市数据,将每个城市的信息替换到模板中...
总的来说,PHP生成静态页类是结合了PHP的动态处理能力与静态页面的性能优势。通过这样的方式,开发者可以构建既快速又可扩展的网站。在`writehtml.php`中,我们可以期待看到一个实现这一功能的简单但实用的类示例。...
**PHP生成静态页面**并不是指PHP动态解析并输出HTML页面,而是指利用PHP脚本来创建HTML文件。这种做法的优点在于能够减轻服务器压力、提高网站访问速度,并且对搜索引擎更加友好。但同时也存在一定的缺点,比如维护...
在本压缩包“PHP实例开发源码—PHP生成静态页面小程序.zip”中,包含了一个用于演示如何使用PHP生成静态页面的简易小程序。这个程序的核心目标是提高网站的加载速度和减轻服务器负担,因为静态HTML页面比动态生成的...
PHP生成静态页面是一种常见的优化网站性能的技术,它涉及到动态脚本、静态页面的概念以及模板解析的原理。以下将详细阐述这些知识点。 首先,PHP脚本是一种服务器端的编程语言,用于创建动态网页。动态页面是通过...
"PHP生成静态"是指利用PHP脚本来动态生成HTML页面,然后保存为静态文件,以提高网站的访问速度和减轻服务器负载。这种方法被称为静态化,是优化网站性能的一种常见策略。 静态网页通常由纯HTML构成,它们不依赖...
PHP 生成静态页面是一种常见的优化网站性能的技术,它将动态内容转化为静态HTML文件,以便用户在后续访问时直接加载已生成的页面,而无需每次都执行PHP脚本。这个过程可以提高网页加载速度,减轻服务器负担。下面将...