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 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
php代码书写习惯优化小结
Jun 20 PHP
PHP的password_hash()使用实例
Mar 17 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
PHP整合PayPal支付
Jun 11 PHP
PHP判断是否连接上网络的方法
Jul 01 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
PHP超全局变量实现原理及代码解析
Sep 01 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
劣质的PHP代码简化
2010/02/08 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
28个JS验证函数收集
2010/03/02 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
Python对文件操作知识汇总
2016/05/15 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
基于FME使用Python过程图解
2020/05/13 Python
促销活动策划方案
2014/01/12 职场文书
信访工作经验交流材料
2014/05/23 职场文书
计算机网络专业自荐信
2014/07/04 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
民事起诉书范本
2015/05/19 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
SQL之各种join小结详细讲解
2021/08/04 MySQL
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server