DemonXT
Создатель
- Регистрация
- 15 Июл 2009
- Сообщения
- 19
- Реакции
- 0
- Автор темы
- #1
xml карта моего сайта разраслась на столько, что google её уже не принимает!
Помогите разбить его на части, но чтобы не нарушилась структура xml-файла.
Нашёл и немного модифицировал скрипт, который просто делит файл на части:
Но он просто делит файл на части равные заданное количество байт.
Файл sitemap.xml имеет вид:
То есть в первой части нужно откусить по строку: " </url>" и в конец вставить строку: "</urlset>", а в начало следующего вставить шапку:
Очень нужна Ваша помощь. Заранее спасибо.
Помогите разбить его на части, но чтобы не нарушилась структура xml-файла.
Нашёл и немного модифицировал скрипт, который просто делит файл на части:
PHP:
<?PHP
// Имя файла
$filename = "sitemap.xml";
// Разбиваем файл на куски по 4,5 Мб.
// За одно и запишем их в разные файлы
$piece = 4718592;
// Открываем исходный файл
$fp = fopen($filename, "r");
// Читаем содержимое файла в буфер
$bufer = fread($fp, filesize($filename));
// Закрываем файл
fclose($fp);
// Подсчитываем число кусков, на которые
// разобьётся файл
$count = (int)filesize($filename)/$piece;
if((float)(filesize($filename)/$piece) - $count != 0) $count++;
// В цикле разбиваем содержимое файла в переменной
// $bufer на части
for($i=0; $i<$count; ++$i)
{
$part = substr($bufer,$i*$piece,$piece);
$fname = "sitemap".$i;
$fname = $fname.".xml";
// Сохраняем кусок в файле
$fp = fopen($fname,"w");
fwrite($fp,$part);
fclose($fp);
}
?>
Файл sitemap.xml имеет вид:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://site.ru/google.html</loc>
<lastmod>2010-07-15</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://site.ru/reklama.html</loc>
<lastmod>2010-07-15</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://site.ru/rules_news.html</loc>
<lastmod>2010-07-15</lastmod>
<priority>0.5</priority>
</url>
...
<url>
<loc>http://site.ru/soft/</loc>
<lastmod>2010-07-15</lastmod>
<priority>0.7</priority>
</url>
</urlset>
Код:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">