php2html php生成静态页函数


Posted in PHP onDecember 08, 2008

<?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("https://3water.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("https://3water.com", dirname(__FILE__)."/yanjing_html/index.html", dirname(__FILE__)."/yanjing_log/log.txt");
echo "成功";
?>

PHP 相关文章推荐
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
php修改时间格式的代码
May 29 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
PHP加密解密实例分析
Dec 25 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
php中使用websocket详解
Sep 23 PHP
PHP中list方法用法示例
Dec 01 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
Mar 15 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
php 远程图片保存到本地的函数类
Dec 08 #PHP
PHP 出现乱码和Sessions验证问题的解决方法!
Dec 06 #PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 #PHP
php 远程关机操作的代码
Dec 05 #PHP
php 清除网页病毒的方法
Dec 05 #PHP
php读取msn上的用户信息类
Dec 05 #PHP
php获取网页内容方法总结
Dec 04 #PHP
You might like
php.ini 中文版
2006/10/28 PHP
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP 面向对象实现代码
2009/11/11 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
PHP文件操作方法汇总
2015/07/01 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
一段批量给页面上的控件赋值js
2010/06/19 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
javascript self对象使用详解
2016/10/18 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
Python去除列表中重复元素的方法
2015/03/20 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
python并发编程之线程实例解析
2017/12/27 Python
Python 错误和异常代码详解
2018/01/29 Python
Python变量类型知识点总结
2019/02/18 Python
python实现五子棋小程序
2019/06/18 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
Python socket模块方法实现详解
2019/11/05 Python
python判断无向图环是否存在的示例
2019/11/22 Python
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
乐观大学生的自我评价
2014/01/10 职场文书
违纪检讨书2000字
2014/02/08 职场文书
元旦主持词开场白
2015/05/29 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB