网站地图建设

网站地图建设

<?php namespace Admin\Controller; use Think\Controller; class SitemapController extends AdminController { function sitemapxml(){ //$path = 'D:/phpStudy/WWW/pingzhuang/pzwsitemap/'; $path = 'pzwsitemap/'; $patharray = array(); if(!is_dir($path)){ $flag = mkdir($path,0777,true); } $ask = M('ask');//thinkphp 数据链接 $askdata = $ask->order('id desc')->field('id,ctime')->select(); $askurl = "https://www.pzw315.com/ask/reply/id/"; $askmurl = "https://m.pzw315.com/ask/reply/id/"; $askpcdata = array_chunk($askdata,1000); //ask pc操作 foreach($askpcdata as $k=>$v){ $askcontent = '<?xml version="1.0" encoding="UTF-8"?>'.chr(13).'';;
		$askcontent .=	'<urlset xmlns="http://www.google.com/schemas/sitemap/0.9">'.chr(13).'';
		foreach($askpcdata[$k] as $k1=>$v1){
			$askarray[$k][$k1]['loc'] = $askurl.$v1['id'].'.html';
			$urls[] = $askurl.$v1['id'].'.html';
			$askarray[$k][$k1]['lastmod'] = empty($v1['ctime'])?'2019-06-09':date("Y-m-d",$v1['ctime']);
			$askarray[$k][$k1]['changefreq'] = 'ask';
			$askarray[$k][$k1]['priority'] = '0.8';
		}
		foreach($askarray[$k] as $data){
			$askcontent .= $this->create_item($data).chr(13);
		}
		$askcontent .=	'</urlset>'.chr(13).'';
		$askfile[$k] = 'sitemap_ask_'.($k+1).'.xml';
		file_put_contents($path.$askfile[$k],$askcontent);
		$patharray[] =$askfile[$k];
	}
	
	//print_r($patharray);exit;
	//print_r($urls);exit;
	
	$arr = $this->split($urls);
	//print_r(count($urls));exit('aa');
	foreach($arr as $k=>$v){
		$res = $this->send($v);
		
	}
	//echo count($urls);exit;
	/*
	$api = 'http://data.zz.baidu.com/urls?site=www.pzw315.com&token=uojoqsSz3eC8VCMU';
	$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);
	//print_r($result);exit;
	//print_r($this->split($urls));
	*/
	$baidu = get_object_vars(json_decode($res));
	
	$this->assign('count', count($urls));
	$this->assign('baidu', $baidu);
	$this->assign('patharray', $patharray);
	$this->display();
	exit;
	$pathstr = '生成成功'.'<br>';
	foreach($patharray as $k=>$v){
		$pathstr .= ($k+1).'. '.$v.'<br>';
	}echo $pathstr;exit;
	
}
//百度链接推送
function send($urls){
	$api = 'http://data.zz.baidu.com/urls?site=www.pzw315.com&token=uojoqsSz3eC8VCMU';
	$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);
	return $result;
}
function create_item($data){
	$item="<url>\n";
	$item.="<loc>".$data['loc']."</loc>\n";
	$item.="<lastmod>".$data['lastmod']."</lastmod>\n";
	$item.="<changefreq>".$data['changefreq']."</changefreq>\n";
	$item.="<priority>".$data['priority']."</priority>\n";
	$item.="<data>".$data['data']."</data>\n";
	$item.="</url>\n";
	return $item;
}
//分割数组
public function split( $data, $num = 400 )
{
    $arrRet = array();
    if( !isset( $data ) || empty( $data ) )
    {
        return $arrRet;
    }
    
    $iCount = count( $data )/$num;
    if( !is_int( $iCount ) )
    {
        $iCount = ceil( $iCount );
    }
    else
    {
        $iCount += 1;
    }
    for( $i=0; $i<$iCount;++$i )
    {
        $arrInfos = array_slice( $data, $i*$num, $num );
        if( empty( $arrInfos ) )
        {
            continue;
        }
        $arrRet[] = $arrInfos;
        unset( $arrInfos );
    }
    
    return $arrRet;
    
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值