1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

динамический Sitemap

Тема в разделе "PHP программирование", создана пользователем Kauperwood, 24 май 2011.

  1. Kauperwood

    Kauperwood Гость

    Репутация:
    0
    нормально так будет?
    PHP:
    function sitemapgenerator() {
    $urls = "";
    $head = '<?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">'."\n";
    $legs = '</urlset>';
    $sql = mysql_query('SELECT * FROM content');// выводим поля
    while($record = mysql_fetch_array($sql)) {
    $urls .= "<url>\n<loc>index.php?pageid=".$record['pageid']."</loc>\n<lastmod>".date("Y-m-d")."</lastmod>\n<changefreq>weekly</changefreq>\n<priority>0.5</priority>\n</url>\n";
    }
    $smaps = "sitemap.xml";
    if(is_file($smaps)){
    $fo = fopen($smaps, "w"); 
    $fw=fputs($fo,$head.$urls.$legs);
    fclose($fo);
    }
    else {
    print "error"; 
    }
    }
     
  2. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.431
    Симпатии:
    40
    Нет, не норм.
    Первое бросается в глаза - SELECT * FROM content, когда все что юзаете $record['pageid']. Зачем тягать остальные поля?
    Оставьте SELECT 'pageid' FROM content

    if(is_file($smaps)) зачем? Типа если файла нету, то и не надо его создавать? Бред же.
    да и вообще file_put_contents лучше юзайте.


    Добавлено: И вот эта штука по крону будет вам генерить сайтмап? Мне кажется, лучше пусть скрипт выдает хмл по запросу. Ну т.е вместо вывода в файл выводите в стдаут(через echo типа).
     
  3. Kauperwood

    Kauperwood Гость

    Репутация:
    0
    по первым двум замечаниям,
    спасибо поправлю.

    у меня получается что генератор вызывается из начала дефолтной функции, т.е каждый раз это все сейчас обновляется.

    т.е по запросу робота?

    вроде чуток ознакомился, появились вопросы, пока что немного не поянтно как это работает, как это отдать роботу потом?
     
  4. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.431
    Симпатии:
    40
    Не, не стоит в такие дебри лезть=) Оно не для того.
    А я имел ввиду
    header('Content-type: text/xml');
    echo $head.$urls.$legs;

    И не надо файлов никаких.
     
  5. Kauperwood

    Kauperwood Гость

    Репутация:
    0
    аа всмысле через header, теперь понял!
     
Загрузка...
Похожие Темы - динамический Sitemap
  1. xbeetle
    Ответов:
    15
    Просмотров:
    1.189
  2. WingmanIX
    Ответов:
    2
    Просмотров:
    1.553
  3. Marazm
    Ответов:
    0
    Просмотров:
    1.364
  4. Mitya
    Ответов:
    6
    Просмотров:
    2.150
  5. Ruslan737
    Ответов:
    0
    Просмотров:
    1.149

Поделиться этой страницей