• 技术文章 >后端开发 >php教程

    php生成site地图的案例

    2016-06-13 13:15:59原创306
    php生成sitemap的案例
    PHP code
    
    
    ';
    //下边这段代码为指定数据,但是实际需求是要通过sql来完成
    $data_array=array(
        array(
            'loc'=>'http://www.sslook.com/',
            'priority'=>'1.0',
            'lastmod'=>'2012-06-03T04:20:32-08:00',
            'changefreq'=>'always'
        ),
        array(
            'loc'=>'http://www.sslook.com/',
            'priority'=>'0.5',
            'lastmod'=>'2012-06-03T04:20:32-08:00',
            'changefreq'=>'daily'
        )
    );
    foreach($data_array as $data){
        $content.=create_item($data);
    }
    $content.='';
    $fp=fopen('sitemap.xml','w+');
    fwrite($fp,$content);
    fclose($fp);
    
    function create_item($data){//目前测试是这个函数处理之后就会数据混乱
        $item="\n";
        $item.="".$data['loc']."\n";
        $item.="".$data['priority']."\n";
        $item.="".$data['lastmod']."\n";
        $item.="".$data['changefreq']."\n";
        $item.="\n";
        return $item;
    }
    

    代码中数组赋值的地方,换成通过sql语句来做的话要怎么做?我是下边这样,但是测试输出的xml文件全都是hhh...什么的。
    PHP code
    
    $query = sql语句;
    $result = mysql_query($query);
    while($row = mysql_fetch_array($result))
    {    $data_array['loc']="http://zufang.sslook.com/sh/$ran/$row[0]";
        $data_array['priority']='1.0';
        $data_array['lastmod']='2012-12-12';
        $data_array['changefreq']='weekly';
        }
    



    ------解决方案--------------------
    while($row = mysql_fetch_array($result))
    { $data_array['loc']="http://zufang.sslook.com/sh/$ran/$row[0]";
    $data_array['priority']='1.0';
    $data_array['lastmod']='2012-12-12';
    $data_array['changefreq']='weekly';
    }
    这个while再次循环时,数组值data_array又被覆盖了,所以最终就一个值了,添加flag
    改为以下,都是hhh什么意思,数据库里东西吗,发出来看一下
    PHP code
    
    $i= 0;
    while($row = mysql_fetch_array($result))
    {    $data_array[$i]['loc']="http://zufang.sslook.com/sh/$ran/$row[0]";
        $data_array[$i]['priority']='1.0';
        $data_array[$i]['lastmod']='2012-12-12';//这些都被你定死了
        $data_array[$i]['changefreq']='weekly';
        ++$i;
        } 
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    Web大前端开发直播班

    相关文章推荐

    • PHP常用六大设计模式(总结分享)• php图片上传类 附调用方法,_PHP教程• 详解PHP的Yii框架中自带的前端资源包的使用,yii框架_PHP教程• PHP常用技巧总结,php总结_PHP教程• php中spl_autoload详解,spl_autoload详解_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网