php2html php生成静态页函数

yipeiwu_com7年前PHP代码库
<?php
/**
------------------------
Function: php2html($in_Url, $out_htmlFile, $out_logFile)
------------------------
@ Description: 生成静态函数
@ Copyright: Copyright (c) 2006 - 2011
@ Create: 2006-08-01
@ Modify: 2006-10-27
@ 提示:这里要用到的路径为服务器绝对路径; 若给定的路径目录不存在则自动创建
=======================================================================================
@ Example:php2html("//www.jb51.net", "/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("//www.jb51.net", dirname(__FILE__)."/yanjing_html/index.html", dirname(__FILE__)."/yanjing_log/log.txt");
echo "成功";
?>

相关文章

PHP数据缓存技术

数据缓存是web开发中常用的一种性能优化方法。目前主要文件缓存或者数据库缓存两种形式,数据库缓存数据库不是什么不可能的事情,的确也是很好很重要的。我认为传统数据库主要是从业务层、模块设计...

php使用ob_flush不能每隔一秒输出原理分析

本文实例讲述了php使用ob_flush不能每隔一秒输出原理。分享给大家供大家参考。具体分析如下: 实现功能: 浏览器每隔一秒输出一个数字。 php.ini配置为: 版本5.3 impl...

php无限级评论嵌套实现代码

我在设计BB的过程中,也一直在思考是否可以不通过递归来实现无限级分类的结构展现和父子结构查找,因为如果不对这里的算法进行优化后果可能是致命的!试想一下,一篇文章如果评论数为300,按正常...

PHP中Date()时间日期函数的使用方法小结

语法 date(format,timestamp)参数 描述 format 必需。规定时间戳的格式。 timestamp 可选。规定时间戳。默认是当前的日期和时间 要找出前一天的时间就是...

特详细的PHPMYADMIN简明安装教程

特详细的PHPMYADMIN简明安装教程

非常适合对数据库操作命令不熟悉的数据库管理者,下面我就说下怎么安装该工具: 1.先到网上下载phpmyadmin,再解压到可以访问的web目录下(如果是虚拟空间,可以解压后通过ftp等上...