火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 4023|回复: 3

免费分享phpwind8.5 发布主要逻辑 - 支持图片上传

[复制链接]
发表于 2011-7-7 09:21:39 | 显示全部楼层 |阅读模式
看了一下火车官方的发布接口,其实不咋样,好多功能都没弄上去的。然后我自己想到了一个比较好的方法来做接口。

就是修改mysqli.class.php文件,在执行sql的地方加入记录操作如:
$hd = fopen('log.txt', 'a');
fwrite($hd, $sql);
这样就可以把发帖子过程的sql全部记录下来,这样基本省去了看程序的时间,直接把收集的sql来做接口。

下面给出的代码只指明了思路,因为是从我的一个类里抽出的逻辑,没有其他环境不能运行。
另外图片上传部分也没有在里面,只包含了图片数据的插入。
  1. function insertArticle($title, $content){

  2.         $this->db = Database::getInstance();
  3.         $db_address = "localhost";
  4.         $db_username = "root";
  5.         $db_password = "111111";
  6.         $db_database = "phpwind";

  7.         $this->db = Database::getInstance();
  8.         $this->db->execConnect($db_address, $db_username, $db_password, $db_database, 0, 'utf8', 'phpwind');

  9.         $hasImage = is_array($this->arrImage) && count($this->arrImage) ? 1 : 0;

  10.         // create a new thread
  11.         $sql = "INSERT INTO  `pw_threads`   SET   `fid`  =  '" . $this->forumid . "',  `icon`  =  '0',";
  12.         $sql .= "`author`  =  '" . $this->author . "' ,  `authorid`  =  '" . $this->userid . "' ,";
  13.         $sql .= "`subject`  =  '" . $title . "' ,  `ifcheck`  =  '1' ,  `type`  =  '0' ,  `postdate`  =  '" . time() . "' ,";
  14.         $sql .= "`lastpost`  =  '" . time() . "' ,  `lastposter`  =  '" . $this->author . "' ,  `hits`  =  '1' ,";
  15.         $sql .= "`replies`  =  '0' ,  `topped`  =  '0' ,  `digest`  =  '0' ,  `special`  =  '0' ,  `state`  =  '0',";
  16.         $sql .= "`ifupload`  =  '" . $hasImage . "' ,  `ifmail`  =  '0' ,  `anonymous`  =  '0' ,  `ptable`  =  '' ,";
  17.         $sql .= "`ifmagic`  =  '0' ,  `ifhide`  =  '0' ,  `tpcstatus`  =  '0' ,  `modelid`  =  '0' ";

  18.         $this->db->query($sql);

  19.         $tid = $this->db->getInsertId();

  20.         // insert the content
  21.         $sql = "INSERT INTO pw_tmsgs SET `tid` ='" . $tid . "',  `aid` ='" . $this->userid . "',  `userip` ='68.190.228.135',";
  22.         $sql .= "`ifsign` ='1',  `buy` ='',  `ipfrom` ='北京',  `tags` ='',  `ifconvert` ='1',  `ifwordsfb` ='1',";
  23.         $sql .= "`content` ='" . mysql_real_escape_string($content) . "', `magic` =''";
  24.         $this->db->query($sql);

  25.         if(is_array($this->arrImage) && count($this->arrImage)){
  26.                 foreach($this->arrImage as $arrOneImage){
  27.                         $sql = "INSERT INTO pw_attachs SET `fid` ='" . $this->forumid . "',  `uid` ='" . $this->userid . "',";
  28.                         $sql .= "`tid` ='" . $tid . "',  `pid` ='0',  `hits` ='0',  `name` ='" . $arrOneImage['fakename'] . "',  `type` ='img',";
  29.                         $sql .= "`size` ='" . $arrOneImage['size'] . "',  `attachurl` ='" . $arrOneImage['filename'] . "',";
  30.                         $sql .= "`uploadtime` ='" . time() . "',  `ifthumb` ='2'";

  31.                         $this->db->query($sql);
  32.                 }
  33.         }

  34.         $sql = "UPDATE pw_forumdata SET tpost=tpost+'1',article=article+'1',topic=topic+'1' ,lastpost='" . $title . "        " . $this->author . "        " . time() . "        read.php?tid=" . $tid . "&page=e#a'  WHERE fid= '" . $this->forumid . "'";

  35.         $this->db->query($sql);

  36. }
复制代码
发表于 2011-7-7 11:33:55 | 显示全部楼层
刚好需要这个
发表于 2011-8-3 12:53:22 | 显示全部楼层
这个是论坛的部分
发表于 2011-8-19 11:35:31 | 显示全部楼层
感谢,只要知道储存方式,就能写出来了
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2024-11-17 12:40

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表