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 相关文章推荐
php面向对象全攻略 (三)特殊的引用“$this”的使用
Sep 30 PHP
php实现网站插件机制的方法
Nov 10 PHP
php获取mysql数据库中的所有表名的代码
Apr 23 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
php object转数组示例
Jan 15 PHP
php实现对象克隆的方法
Jun 20 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
laravel5.6中的外键约束示例
Oct 23 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 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 Rename 更改文件、文件夹名称
2011/05/24 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
表单内同名元素的控制
2006/11/22 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
JavaScript_ECMA5数组新特性详解
2016/06/12 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
vue实现计步器功能
2019/11/01 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
浅析rem和em和px vh vw和% 移动端长度单位
2016/04/28 HTML / CSS
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
自我鉴定四大框架
2014/01/17 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
小浪底导游词
2015/02/12 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
Python编写nmap扫描工具
2021/07/21 Python