百度主動推送的代碼,不需要每天手動去添加地址推送,只要瀏覽器打開推送請求,不要關掉瀏覽器,程序自動幫你推送。(該插件只推送內(nèi)容頁,支持動態(tài)、偽靜態(tài)、靜態(tài)頁面的推送,但這三種地址規(guī)則需要去代碼里面自行拼接)
下面來說下,用這個插件注意事項:
1、首先要在數(shù)據(jù)庫表名_data表里面加一個字段,字段名為v_push , 字段類型為 int(說俗點就是整數(shù)類型,我怕有人看不懂),字段默認值設置為0
2、下面是一些代碼上的注意事項,下面的代碼只是部分需要注意的代碼
<?php require_once("include/common.php"); require_once("include/main.class.php"); require_once("data/config.cache.inc.php"); //設置每次推送的條數(shù) $tnum = 30; $remain = $_REQUEST['remain']; $remain = isset($remain) ? intval($remain) : $tnum; /*百度推送系統(tǒng)更新,不再限制推送條數(shù),但remain參數(shù)保留,始終為1,為了防止官方把remain參數(shù)再次用上,這邊也把remain保留,但不影響推送功能 百度推送好像限制了不能重復推送,否則將禁止該網(wǎng)站推送功能,現(xiàn)在只能每個地址推送一次。如果有的網(wǎng)友想重復推送,請往下看。 if($remain>30) $pagesize=30; else $pagesize=$remain; */ $pagesize=$tnum; $wheresql = "where v_push = 0 "; $trow = $dsql->GetOne("Select count(*) as dd From `sea_data` $wheresql"); $totalnum = $trow['dd']; //當總頁數(shù)小于每頁數(shù)目的時候,替換pagesize if($totalnum<$pagesize) $pagesize = $totalnum; if(empty($totalpage)) $totalpage=ceil($totalnum/$pagesize); if($totalnum==0 || $page>$totalpage || $remain==0){ /*---------------------------如果依然想重復推送的朋友,你可以把下面三行代碼給注釋掉。------------------------------*/ echo "恭喜,已推送所有內(nèi)容頁!"; echo "<br>暫停3秒后繼續(xù)推送<script language=\"javascript\">setTimeout(\"baiduPush();\",3000);function baiduPush(){location.href='?remain=1';}</script></p>"; return; /*---------------------------如果依然想重復推送的朋友,你可以把上面三行代碼給注釋掉。------------------------------*/ /*---------------------------如果依然想重復推送的朋友,你可以把下面三行代碼注釋給取消掉。-------------------------*/ //$query = "Update `sea_data` set v_push=0"; //$dsql->ExecuteNoneQuery($query); //$pagesize = $tnum; /*---------------------------如果依然想重復推送的朋友,你可以把上面三行代碼注釋給取消掉。-------------------------*/ } $dsql->SetQuery("Select v_id From `sea_data` $wheresql order by v_id desc limit 0,$pagesize"); $dsql->Execute('video_list'); $plink =""; $urls = array(); $ids = array(); $result ="{}"; while($row=$dsql->GetObject('video_list')) { $v_id = $row->v_id; /*-----------------------------------------------------------------------------------------------------------*/ /*通過v_id來拼接內(nèi)容頁的地址,動態(tài)、偽靜態(tài)、靜態(tài)的內(nèi)容頁地址規(guī)律都不一樣,請大家自行修改。$cfg_basehost代表你的域名*/ /*?。。。。。。?!注意這里暫不支持已電影拼音做內(nèi)容頁地址的鏈接推送?。。。。。。。。?!*/ /*-----------------------------------------------------------------------------------------------------------*/ $plink = $cfg_basehost."/detail/index".$v_id.".html"; //來源頁面網(wǎng)址 array_push($urls ,$plink); array_push($ids ,$v_id); @ob_flush(); @flush(); } //百度推送API地址,請各自去百度站長平臺查看自己的token $api = 'http://data.zz.baidu.com/urls?site=www.xxx.com&token=es8rdbhGjGjhUJBfNI'; $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); $result_json = json_decode($result, true); if(isset($result_json["remain"])) { //對ids數(shù)組循環(huán),提示推送成功id,更新對應id的v_push=1 foreach ($ids as $vid){ $query = "Update `sea_data` set v_push=1 where v_id='$vid'"; $dsql->ExecuteNoneQuery($query); echo $result ."已成功推送URL:".$cfg_basehost."/detail/index".$vid.".html"; echo '<br />'; } $remaincount = $result_json["remain"]; echo "<br>暫停3秒后繼續(xù)推送<script language=\"javascript\">setTimeout(\"baiduPush();\",3000);function baiduPush(){location.href='?remain=".$remaincount."';}</script></p>"; } else { echo "今天百度推送次數(shù)已達上限!請明天再推送!"; echo "<br>暫停3秒后繼續(xù)推送<script language=\"javascript\">setTimeout(\"baiduPush();\",3000);function baiduPush(){location.href='?remain=1';}</script></p>"; exit(); } ?>
版權聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉載請注明: 蘋果cms和海洋cms通用的百度主動推送工具