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 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
php 魔术函数使用说明
Feb 21 PHP
PHP常用代码大全(新手入门必备)
Jun 29 PHP
php中设置多级目录session的问题
Aug 08 PHP
PHP循环结构实例讲解
Feb 10 PHP
smarty模板引擎中自定义函数的方法
Jan 22 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
一个简单的php路由类
May 29 PHP
浅析Laravel5中队列的配置及使用
Aug 04 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
PHP whois查询类定义与用法示例
Apr 03 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
PHP实现单例模式最安全的做法
2014/06/13 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
yii添删改查实例
2015/11/16 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
JS实现吸顶特效
2020/01/08 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
Python遍历numpy数组的实例
2018/04/04 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
通信工程毕业生求职信
2013/11/16 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
物业管理专业自荐信
2014/07/01 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
签约仪式致辞
2015/07/30 职场文书
《包身工》教学反思
2016/02/23 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL