<?php
include('a.php');
include('connect.php');
$xhs=(int)($count/20);
for ($x=0; $x<=$xhs; $x ) {
$xiao=20*$xhs;
$da=20*($xhs 1);
$qqselect_sql="select * from QQsign WHERE id>$xiao and id<=$da";
$qqselect_result=mysql_query($qqselect_sql);
##数据获得
while($array=mysql_fetch_array($qqselect_result)){
class z_class{
function is_zan($qq,$sid){
$this->contents=file_get_contents("
http://ish.z.qq.com/infocenter_v2.jsp?B_UID={$qq}&sid={$sid}&g_ut=1");
##判断是否赞过,如果没有赞过,则得到他的赞的地址
preg_match_all('@<a href="
http://blog(\d)0.z.qq.com/like/like_action.jsp(.*)">赞\(\d{1,}\)</a>
@Ui',$this->contents,$this->url_array);
##得到含大量需要赞的地址
$n=count($this->url_array['2']);
$this->zz=$zan $n;
for($i=0;$i<$n;$i ){
$this->url="
http://blog".$this->url_array['1'][$i]."0.z.qq.com/like/like_action.jsp".$this->url_array['2'][$i];
file_get_contents(html_entity_decode($this->url));
}
}
}
$qq=$array['qq'];
$sid=$array['sid'];
$zan=new z_class();
$zan->is_zan($qq,$sid);
}
}
?>
这就是那个说说赞的核心代码了,我在外边加了个for循环,本来我的意思是想如果号码过多每回只执行20个号的赞操作,先获取数据库QQ总数,除以20得到整数作为for循环数,通过for循环分批访问,da xiao变量用where获取每批号码的id范围,然后就是赞这些id的号码
但是经过测试不管用啊,貌似这样只有id为0的号码会正常执行,其它都没用啊,请问我的想法哪里错误了?求指教