php傳送超大資料處理

zchd發表於2013-09-22
set_time_limit(0);//設定永不超時
ignore_user_abort(); //設定客戶端斷開,繼續處理
 //總數
       $allusercount= $this->gamedb_model->query_onerow();
        $allcount = $allusercount[`count`];
        $page = 1;//當前頁
        $pagesize=1000;//分頁大小
        $failt = 0;// 失敗次數
        $allpage =ceil($allcount/$pagesize);//分頁總大小
    while($page <= $allpage){
            $erroruserl = ``;
            $userArr =    $this->gamedb_model->query_lists("select  limit ".($page-1)*$pagesize.",$pagesize");
                    if($userArr){
                        foreach ($userArr as $key => $name) {
                $senderrorusers .=$name[`roleName`].`,`;
                        $sendUserList[$name[`roleID`]] = $name[`roleName`];
                    }
                }
        //print_r($sendUserList);
        //print_r("<br />");
            $sendArray[`userlist`]= json_encode(array_unique($sendUserList));    
                $jsonresult = $this->_sendreward($sendArray,$this->mailgifturl);
                    $resultobj = json_decode($jsonresult);
                    if($resultobj && $resultobj->result==`succ`){
            $data[`errordisplay`]="獎品傳送成功";
            }else{
            $erroruserl = $senderrorusers;//存取傳送失敗的使用者
            $failt++;
            }
            //日誌
                    $this->comm_model->insert_query(
                        `admin_action_log`,array(
                            `username`=>$this->session->userdata(`username`),
                            `type`=>1,//傳送郵件獎勵
                            `content`=>`userlist=`.$sendArray[`userlist`].`|message=`.$sendArray[`message`].`|reward=`.$sendArray[`reward`].`|item=`.$sendArray[`item`].`|ger=`.$sendArray[`ger`],
                            `ip`=>$_SERVER[`REMOTE_ADDR`],
                            `online`=>time(),
                `status`=>$data[`errordisplay`].`==`.$jsonresult,
                `sendfailt`=>$erroruserl
                          )
                        );
    //    print_r($sendArray);
            $senderrorusers=``;
                $page++;    
            unset($sendArray[`userlist`]);
            unset($sendUserList);
            unset($userArr);
        }

 


相關文章