杰奇小说连载系统sitemap生成插件

Filed under: PHP&MySQL | 2 Comments »
Posted on

最近为自己的书站最终选择了杰奇小说连载系统,但是这个系统并不是开源的程序,无法自由修改,很是不爽,但熟悉了几天后,还是忍不住做些扩展的开发,这是我写的一个sitemap的生成程序,在这里放出来给大家用用吧。
sitemap.php

  1. $txt_name='sitemap.xml';
  2. writeStatistic_set_name($txt_name);
  3. $sql="select * from jieqi_article_article ";
  4. $db->query($sql);
  5. for($i=1;$i<= $db->num_rows();$i++){
  6.     $db->next_record();
  7.     $siteid = $db->f(siteid);
  8.     $articleid = $db->f(articleid);
  9.     $url = "<url>
  10.         <loc>http://www.iobug.com/files/article/html/$siteid/$articleid/index.html</loc>
  11.     </url>";
  12.     writeStatistic($url,$txt_name);
  13. }
  14. $db->free();
  15. $over='</urlset>';
  16. writeStatistic($over,$txt_name);
  17. print "<script>alert(\"sitemap生成结束!\");</script>";
  18. exit;

杰奇小说连载系统sitemap生成插件下载:
杰奇小说sitemap生成插件下载

snoopy与htmlsql实例(盗墓笔记采集)

Filed under: Spider | 3 Comments »
Posted on

snoopy这个采集类库是个很好玩的东西,简单而且使用,一般的采集应付起来绰绰有余。
最近一个哥们要看盗墓笔记的全本TXT文档,让我帮他采集,想了下决定用snoopy和一个好玩的类库htmlsql来做,htmlsql第一次使用,感觉比较好玩,写SQL的感觉非常有趣,就是灵活性上不是很突出,但做这种小的采集足够了,可能是因为第一次使用这个类库,并不是很顺利,写了两个多钟头,才搞定这个采集,这里放出源码供大家下载吧,想玩玩的可以拿去参考下。
展示部分代码:

  1. <?php
  2. include_once("./snoopy.class.php");
  3. include_once("./htmlsql.class.php");
  4. require_once("./function.php");
  5. //防止页面超时
  6. set_time_limit(0);
  7. //生成文本文档名称
  8. $name="怒海潜沙";//自定义文件名(注意自己修改)
  9. $txt_name=$name.".txt";
  10. $zhangjie="nu-hai-qian-sha";//这个程序写的并不是很智能,每个章节的链接地址还要自己修改下(注意自己修改)
  11. $max="46";//最大采集章节数(注意自己修改)
  12. $wsql = new htmlsql();
  13. for($i=1;$i<=$max;$i++){
  14.     $a=sprintf("%02d", $i);
  15.     $url="http://www.daomubiji.com/$zhangjie-$a.html";
  16.     // connect to a URL
  17.     if (!$wsql->connect('url', $url)){
  18.         print 'Error while connecting: ' . $wsql->error;
  19.         exit;
  20.     }
  21.  
  22.     if(!$wsql->query('SELECT * FROM h1')){
  23.         print "Query error: " . $wsql->error;
  24.         exit;
  25.     }
  26.  
  27.     // show results:
  28.     foreach($wsql->fetch_array() as $row){
  29.         writeStatistic("\r\n".$row['text']."\r\n",$txt_name);
  30.         $echo=iconv("UTF-8", "GBK", $row['text']);
  31.         //print_r($row);   
  32.     } 
  33.  
  34.     $wsql->isolate_content('<script src=http://busjs.vodone.cn/bus/ownerjs/advjs_47/47093/47093_56564_p7_.js></script>','<p align="center">');
  35.  
  36.     if (!$wsql->query('SELECT * FROM *')){
  37.         print "Query error: " . $wsql->error;
  38.         exit;
  39.     }
  40.  
  41.     // show results:
  42.     foreach($wsql->fetch_array() as $row){
  43.         writeStatistic(strip_tags($row['text'])."\r\n",$txt_name);
  44.         //print_r($row);   
  45.     }
  46.     print "$i. 章节: $echo 采集完成.....<br>";
  47.     print "--------------------------------------------------------<br>";
  48.     flush();
  49. }
  50. print "卷:$name 全部采集完成......";
  51. ?>

程序包下载:
snoopy与htmlsql实例程序包

mysql出错表

Filed under: PHP&MySQL | No Comments »
Posted on

1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误
1024:读文件错误
1025:更改名字时发生错误
1026:写文件错误
1032:记录不存在
1036:数据表是只读的,不能对它进行修改
1037:系统内存不足,请重启数据库或重启服务器
1038:用于排序的内存不足,请增大排序缓冲区
1040:已到达数据库的最大连接数,请加大数据库可用连接数
1041:系统内存不足
1042:无效的主机名
1043:无效连接
1044:当前用户没有访问数据库的权限
1045:不能连接数据库,用户名或密码错误
1048:字段不能为空
1049:数据库不存在
1050:数据表已存在
1051:数据表不存在 Read the rest of this entry »

Tags : ,

用PHP取得文件后缀名的两个办法

Filed under: PHP&MySQL | 1 Comment »
Posted on

1、pathinfo函数:

  1. <?php
  2. $name = 'http://www.wangchong.org/ad_banner-1199957657.gif';
  3. $path_parts = pathinfo($name);
  4. echo $path_parts['extension'];
  5. ?>

2、end函数:

  1. <?php
  2. $name = 'http://www.wangchong.org/ad_banner-1199957657.gif';
  3. echo(end(explode(".",$name)));
  4. ?>

Apache服务器配置技巧

Filed under: Other | 1 Comment »
Posted on

Apache服务器配置技巧
本文简要介绍了十几个Apache 的配置技巧:
  1、如何设 置请求等待时间

  在httpd.conf里面设置:

  TimeOut n

  其中n为整数,单位是秒。

  设置这个TimeOut适用于三种情况:

  2、如何接收一个get请求的总时间
Read the rest of this entry »