免费注册 查看新帖 |

Chinaunix

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

php SHell方式 实现批量html文件生成 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-10 17:34 |只看该作者 |倒序浏览
    php以apache的module方式运行于服务器上,为我们提供实时的数据服务,同样,php一样可以通过shell的方式运行,效率更高!
    最近项目中需要批量生成大量的静态化html文件,于是用php来实现了该功能。虽然效率不是很高,但对比纯web的方式却是快了不知多少,咔咔!
#!/usr/local/php/bin/php
?php
define('SITEURL','http://religion-html249.xxxx.com/');
echo '#####################################################'."\n\r"."start ........\n\r";
/**
* connect the mysql database
* by Firn hailingr@163.com
*/
function connect_db($host='localhost',$user='root',$pass='123456',$dataName='book'){
        $conn = mysql_connect($host,$user,$pass);
        if($dataName){
                mysql_select_db($dataName,$conn);
        }
        return $conn;
}
/**
* exec the sql script
* by Firn hailingr@163.com
*/
function query($sql,$conn){
        $result = mysql_query($sql,$conn);
        while ($row = mysql_fetch_array($result)) {
                $rows[] =$row;
        }
        return $rows;
}
/**
* 根据书籍id生产与之对应的书籍静态页面
* 所有的生产的静态html页面均存放于html/bookinfo/分类id/book_id.html
* @param int $book_id
*/
function createHtmlBookInfo($book_id){
        global $conn;
        $htmlDir = '/web/religion-html.xxxx.com/html/bookinfo/';
        $book = query("SELECT type_id FROM bookinfo WHERE book_id = $book_id",$conn);
        $typeId = $book[0]['type_id'];
        $htmlDir.=$typeId;
        if(!file_exists($htmlDir)) mkdir($htmlDir,0775);
        if(!file_exists($htmlDir.'/cn')) mkdir($htmlDir.'/cn',0775);
        if(!file_exists($htmlDir.'/tw')) mkdir($htmlDir.'/tw',0775);
        //简体文件生产
        $content = file_get_contents(SITEURL.'bookinfo/'.$book_id.'?l=cn');
        $hp = fopen($htmlDir.'/cn/'.$book_id.'.html','w');
        fwrite($hp,$content);
        fclose($hp);
        echo $htmlDir.'/cn/'.$book_id.'.html'.' Ok!'."\n\r";
        //繁体文件生产
        $content = file_get_contents(SITEURL.'bookinfo/'.$book_id.'?l=tw');
        $hp = fopen($htmlDir.'/tw/'.$book_id.'.html','w');
        fwrite($hp,$content);
        fclose($hp);
        echo $htmlDir.'/tw/'.$book_id.'.html'.' ok!'."\n\r";

}
$conn = connect_db();
$sql = "SELECT book_id from bookinfo";
$books = query($sql,$conn);
//echo $nums = count($books);
//createHtmlBookInfo(61);//with the book_id create the html
//create all htmls
foreach($books as $k=>$v){
        createHtmlBookInfo($v['book_id']);
}
echo "\n\r".'#########################################'."\n\r"."create all bookinfo ok!!";
?>

存为create
chmod +x create
./create  
即可运行了

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/54739/showart_439625.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP