Bonsoir,
Essais ce script, c'est plus simple. Le fichier xml est généré automatiquement et la base de liens est completée au fur et a mesure des visites
Fichier: config.php
[code]<?
// a placer en entete de toutes les pages ou celles dont tu veux créer un lien
if($mysql_link = @mysql_connect("sql.free.fr", "login", "pass"))
{
$ETAT_MYSQL_CONNECT = "Y";
}
else
{
$ETAT_MYSQL_CONNECT = "N";
}
if($base = @mysql_select_db("ma_base", $mysql_link)) //très souvent le nom_base et login sont le mêmes
{
$ETAT_MYSQL_DB = "Y";
}
else
{
$ETAT_MYSQL_DB = "N";
}
?>[/code]
Table sql
CREATE TABLE `sitemap` (
`id` int(11) NOT NULL auto_increment,
`url` varchar(100) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
`nb` int(11) NOT NULL default '0',
UNIQUE KEY `id` (`id`),
KEY `url` (`url`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Fichier sitemap.inc:
[code]<?
$url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
if($url_)
{
$q = " SELECT * FROM sitemap where url='$url_'";
$r =@mysql_query($q, $mysql_link);
$quant_r = @mysql_num_rows($r);
if($quant_r >= 1)
{
$q_1 = " update sitemap set nb=nb+1 where url='$url_'";
}
else
{
$date_=date("Y-m-d",time());
$q_1 = "INSERT INTO `sitemap` ( `id` , `url` , `date` ) VALUES ('', '$url_', '$date_' )";
}
$r_1 =@mysql_query($q_1, $mysql_link);
}
?>[/code]
generateur.php de fichier xml:
[code]<?
include("config.php3"); // la config du site
$fichier = 'sitemap.xml';
$path = ''; // pour placer le fichier xml en racine
$fp=fopen($path.$fichier,"w");
$sitemap="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$sitemap.="<urlset xmlns=\"
http://www.google.com/schemas/sitemap/0.84\">\n";
$liste= mysql_query("SELECT url,date FROM `sitemap` order by id limit 0,50000",$mysql_link);
while(list($a,$b) = mysql_fetch_array($liste))
{
$a = ereg_replace('&','&',$a);
$sitemap.="\t<url>\n";
$sitemap.="\t\t<loc>$a</loc>\n";
$sitemap.="\t\t<lastmod>$b</lastmod>\n";
//$sitemap.="\t\t<changefreq>monthly</changefreq>\n";
//$sitemap.="\t\t<priority>0.5</priority>\n";
$sitemap.="\t</url>\n";
}
$sitemap.="</urlset>\n";
fwrite($fp,$sitemap);
fclose($fp);
echo("<a href=\"$fichier\">voir le fichier généré : $fichier</a>");
?>[/code]
A++
Oliv