Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 22:30   #1
noobasic
Новичок
Джуниор
 
Регистрация: 29.11.2011
Сообщений: 0
По умолчанию Доработка php скрипта для sitemap

Здравствуйте есть скрипт

Отвечает за добавления url в базу при вызове скрипта.

<?php

require("config.php");

$link = mysql_connect($config_databaseServe r,$config_databaseUsername,$config_ databasePassword);

mysql_select_db($config_databaseNam e,$link);

$url = $_SERVER["HTTP_REFERER"];

if (strlen($url))
{
if (strpos($url,$config_baseHREF)===0)
{
$hash = md5($url);

$sql = "INSERT INTO ".$config_databaseTablePrefix." urls SET hash='".$hash."',url='".mysql_escap e_string($url)."'";

mysql_query($sql,$link);
}
}
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');

header('Cache-Control: no-store, no-cache, must-revalidate, private, post-check=0, pre-check=0', FALSE);

header('Pragma: no-cache');

header("Content-Type: image/png");

readfile("autositemap.png");

exit();
?>

Формирование урлов в sitemap.


<?php
require("autositemap/config.php");

header("Content-Type: text/xml");

print "<?xml version='1.0' encoding='UTF-8'?>";

$pageLimit = 50000;

$base = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];

$base = substr($base,0,strrpos($base,"/")+1);

$link = mysql_connect($config_databaseServe r,$config_databaseUsername,$config_ databasePassword);

mysql_select_db($config_databaseNam e,$link);

if (isset($_GET["page"]))
{
print "<urlset xmlns='http://www.google.com/schemas/sitemap/0.84' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd'>";

$page = intval($_GET["page"]);

$from = (($page-1)*$pageLimit);

$sql = "SELECT * FROM ".$config_databaseTablePrefix." urls LIMIT ".$from.",".$pageLimit;

$result = mysql_unbuffered_query($sql,$link);

while($row = mysql_fetch_array($result,MYSQL_ASS OC))
{
print "<url>";

print "<loc>".xmlentities($row["url"])."</loc>";

print "</url>";
}

print "</urlset>";
}
else
{
print "<sitemapindex xmlns='http://www.google.com/schemas/sitemap/0.84' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/siteindex.xsd'>";

$sql = "SELECT count(*) as count FROM ".$config_databaseTablePrefix."urls ";

$result = mysql_query($sql,$link);

$row = mysql_fetch_array($result,MYSQL_ASS OC);

$pages = ceil($row["count"] / $pageLimit);

for($i=1;$i<=$pages;$i++)
{
print "<sitemap>";

$loc = $base."sitemap.php?page=".$i;

print "<loc>".xmlentities($loc)."</loc>";

print "</sitemap>";
}

print "</sitemapindex>";
}

exit();

function xmlentities($text)
{
$search = array('&','<','>','"','\'');

$replace = array('&amp;','&lt;','&gt;','&quot; ','&apos;');

$text = str_replace($search,$replace,$text) ;

return $text;
}
?>


Требуется доработка.

1) Сделать конфиг разрешающие добавлять определенные url. пример: "www.domen.tr/index.php?cat=vis&user=" , разрешать добавлять в базу если после знака '?' в url есть "cat=vis&user="

Возможно такое сделать, если да, то сколько это будет стоит, цены в личку.
noobasic вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сниффер для php скрипта J-Max PHP 3 19.11.2011 09:13
доработка скрипта раскрывающегося текста Medvedoc JavaScript, Ajax 3 20.10.2011 09:42
php sitemap fsockopen Kostia PHP 5 22.07.2011 11:49