免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3029 | 回复: 5
打印 上一主题 下一主题

php2html.php生成静态页函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-27 18:44 |只看该作者 |倒序浏览
好久没有发贴了,希望此贴能给初学php的朋友帮上点忙


<?php
/**
------------------------
   Function: php2html($in_Url, $out_htmlFile, $out_logFile)
------------------------
@ Description: 生成静态函数
@ Author 眼睛5462       
@ QQ: 332458700 [E-mail:yanjing5462@my55.com.cn]
@ Copyright: Copyright (c) 2006 - 2011 MY55.com.cn
@ Create: 2006-08-01
@ Modify: 2006-10-27
@ 提示:这里要用到的路径为服务器绝对路径; 若给定的路径目录不存在则自动创建
===================================================================
@ Example:php2html("http://www.baidu.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("http://www.baidu.com", dirname(__FILE__)."/yanjing_html/index.html", dirname(__FILE__)."/yanjing_log/log.txt");
echo "成功";
?>

[ 本帖最后由 yanjing5462 于 2006-10-27 18:55 编辑 ]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2006-10-28 22:27 |只看该作者
我想,如果你可以这么做最好:一个页面内的普通文件全部抓取下来。

论坛徽章:
0
3 [报告]
发表于 2006-10-30 09:14 |只看该作者
不太明白,"普通文件全部抓取"为何? 搜索引擎?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2006-10-30 10:14 |只看该作者
包括图片css,这样子更好。

论坛徽章:
0
5 [报告]
发表于 2006-10-30 13:05 |只看该作者
确实想搞个站内搜索引擎,只是不太明白分词后怎么存储和检索.

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-04-13 06:20:00
6 [报告]
发表于 2006-12-02 10:23 |只看该作者
如果直接用wget下载一个php文件写成一个html好像也不错的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP