ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 2008
-
17 juin 2005 à 10:56
hello6891
Messages postés5Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention29 septembre 2008
-
18 févr. 2007 à 10:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
hit7374
Messages postés2Date d'inscriptionlundi 6 décembre 2004StatutMembreDernière intervention25 juillet 2005 13 juil. 2005 à 09:28
salut,
super votre truc, je vais le tester.
question pourrait on l'utiliser pour un site qui n'a pas le php (les pauvres) en déporté en quelque sorte. après il n'y aurait plus qu'à placer par ftp le fichier généré.
de mon coté j'ai écris un petit bout de code tout simple pour le sitemap de sites dynamiques, il s'inspire d'idées émises sur un forum (je remercie celui qui l'a posée).
le principe : on place 2 lignes en tête de page dynamique qui allimentent une table, puis une requête qui régulièrment reprend cette table et génére le fichier xml. ce sont donc les visiteurs qui allimentent la table uniquement avec les pages taggées.
vu la qualité de vos commentaires et corrections j'aimerais vous le passer pour des améliorations certaines.sinon il est sur comscripts à la rubrique divers.
amicalement à tous
cs_j2p
Messages postés3Date d'inscriptionvendredi 14 juin 2002StatutMembreDernière intervention 7 juillet 2005 7 juil. 2005 à 09:52
Ma modeste contribution...
1) Pour la compatibilité avec PHP5
Remplacer la ligne suivante:
$files=array_merge($files,GetDirContents($dir.'/'.$file));
Par celle-ci:
$files=array_merge((array)$files,(array)GetDirContents($dir.'/'.$file));
En effet en PHP5, array_merge n'accepte que les tableau duement déclarés.
2) Pour une meilleure visualisation dans les éditeurs type Dreamweaver
Remplacer toutes les ocurrences suivantes:
'<?xml version="1.0" encoding="UTF-8"?>'
Par ceci:
html_entity_decode('<?xml version="1.0" encoding="UTF-8"?>')
Ceci pour éviter que l'éditeur n'interprette le ?> comme une fin de script PHP.
En espérant avoir été utile,
Jean-Pierre
cs_j2p
Messages postés3Date d'inscriptionvendredi 14 juin 2002StatutMembreDernière intervention 7 juillet 2005 6 juil. 2005 à 16:30
Bonjour et bravo,
Un bémol cependant, ça ne marche pas avec php5...
C'est la ligne :
$files=array_merge($files,GetDirContents($dir.'/'.$file));
qui semble poser problème.
A suivre...
romain2boss
Messages postés16Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 9 août 2005 30 juin 2005 à 20:57
Bravo pour le code !!
Un seul bémol : quand on a un site dynamique avec des variables partout dans les url, ca restreint sacrement le nombre de pages ...
Mais bon, on ne peut pas tout avoir ...
cs_defrancesco
Messages postés16Date d'inscriptiondimanche 19 novembre 2000StatutMembreDernière intervention20 juin 2005 20 juin 2005 à 13:16
Bonjour,
Je ne suis qu'un petit amateur.
Très intéressé par votre code, j'ai essayé de l'installer.
Malheureusement, j'ai un message d'erreur:
Un caractère incorrect a été trouvé dans un contenu de texte. Erreur de traitement de la ressource http://www.chriproductio...
<title>G
Peut-on m'aider.
Merci d'avance.
Christian
Mumuri
Messages postés320Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention 6 avril 2008 17 juin 2005 à 21:13
ok j'ai modifié, perso je ne suis pas sur de utf-encode peut etre qu'il faudré faire des tests plus poussé
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 17 juin 2005 à 19:10
Re,
j'ai XHTMLisé et CSSisé le tout
et enlevé des fautes (;)
Et enlevé les echo en trop et remplacé les . dans les echo par des ,
<?php
//set_time_limit(60*10); pas forcément utile : fixe le temps d'exécution du script à 10 minutes (10*60 seconde)
define('LIMITLIENPARFICHIER',1000); // 1000 liens maximums dans chaque fichier
define('LIMITLIENINDEXE',50000); // 50 000 liens maximum au total
// générateur de fichiers sitemap.xml pour google
// 1- éditer les fichiers, extensions et dossiers interdits ainsi que leur mode de fonctionnement (0 par défaut) ( sans /)
// 2- éditez la variable $compressionGZ pour avoir ou non une compression sur vos fichiers (valable uniquement si vous avez plus de 1000 liens)
// 3- uploadez le fichier sur votre compte et lancez à partir d'un navigateur
/** note :
Si vous avez
./image/
./image/ete
./image/hiver
alors si vous mettez "image" dans dossier interdit, tous les sous dossiers seront interdits
si vous mettez "hiver" alors le dossier hiver sera interdit
ne mettez pas "/image/hiver"
*/
$racine= 'http://'.$_SERVER['HTTP_HOST'];
$compressionGZ = false; // false pas de compression true compression
$Goption=0;// option de filtrage (laissez 0 si vous ne comprenez pas)
// 0 - filtrage bit à bit (du type dossiercherche==dossierencour)
// 1 - présence d'une partie du mot dans le dossier
// 2 - filtrage par expressions réguliéres
$ExtensionsAutorises= array('php','php3','html','htm');
$DossiersInterdits = array('includes','modules','sessions','images','pnadodb','webanalyse','_flood','javascript','language','parameters','smileys','themes','_streifer');
$FichiersInterdits = array('config.php','config_i.php','streifer_forum.gif.php','xmlrpc.php','referer.php','config-old.php','test.php','admin.php','image.php','header.php','footer.php','error.php','confige.php','banners.php','pntables.php','print.php','mainfile.php','modules.php','backend.php');
$myfiles=GetDirContents('.');
/**
function Dossier_Autorisé
param : $DossierCourant
return : vrai si dossier autorisé faux sinon
*/
function Dossier_Autorisé($DossierCourant){
global $DossiersInterdits;
return Est_Autorisé($DossierCourant, $DossiersInterdits);
}
/**
function Dossier_Autorisé
param : $DossierCourant
return : vrai si dossier autorisé faux sinon
*/
function Fichier_Autorisé($FichierCourant){
global $FichiersInterdits;
return Est_Autorisé($FichierCourant, $FichiersInterdits);
}
/**
function Extension_Autorisé
*/
function Extension_Autorisé($ExtensionCourante){
global $ExtensionsAutorises;
return !Est_Autorisé($ExtensionCourante,$ExtensionsAutorises);
}
/**
permet de réaliser les deux fonctions précédentes
*/
function Est_Autorisé($DossierCourant,$Interdits){
global $Goption;
$drapeau = true;
while ($drapeau && list(,$Dossier)=each($Interdits) ){
if ( ComparaisonFichier($DossierCourant,$Dossier,$Goption))$drapeau = false;
}
reset($Interdits);
return $drapeau;
}
function ComparaisonFichier($DossierCourant,$Dossier,$option=0){
switch ($option){
case 0:
// faire une comparaison bit à bit
return ($DossierCourant == $Dossier);
break;
case 1:
// faire un filtre avec strpos
$pos = strpos($mystring, $findme);
if ($pos === false) {
return false;
} else {
return true;
}
break;
case 2:
// faire un filtre avec les expressions réguliéres
return ereg($Dossier,$DossierCourant);
break;
}
}
/**
fonction getextension : retourne l'extension d'un fichier
source : nexen.net
param : $fichier
return: extension du fichier
*/
function getextension($fichier){
$bouts = explode('.', $fichier);
return array_pop($bouts);
}
/**
fonction GetDirContents
param : $dir dossier racine (le test est récursif)
return : liste des urlsDossier_Autorisé
*/
function GetDirContents($dir){
global $racine;
$i=0;
ini_set('max_execution_time',10);
if (!is_dir($dir)){die ('PROBLEME: '.$dir.'!');}
if ($root=@opendir($dir)){
while ($file=readdir($root)){
if($file=='.' || $file=='..'){continue;}
if(is_dir($dir.'/'.$file) && Dossier_Autorisé($file)){
// rajout de la date
// source : http://www.orvinfait.fr/scripts_web_performant.html $modi_fich=filemtime($dir.'/'.$file);
$files[$i]['date']=date('Y-m-d', $modi_fich);
$i++;
}
}
}
}
if(!IsSet($files)){$files = NULL;}
return $files;
}
$nbliens=count($myfiles);
echo ''.$nbliens.' liens référencés dans les fichiers.
',"\r\n";
if ($nbliens>LIMITLIENPARFICHIER){
// utilisation de la norme pour les sites souhaitant référencés plus de 1000 liens
// un fichier sitemap à générer en plus
$numfichier=1;
echo 'Génération des fichiers sitemapXX.xml...
',"\r\n";
}else {
$numfichier='';
echo 'Génération du fichier sitemap.xml...
',"\r\n";
}
if ($numfichier!=1)
{
echo 'Génération du fichier sitemap index file.xml...
';
// génération du sitemap index file
if ($fp = fopen('sitemap.xml', 'w+')){
Mumuri
Messages postés320Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention 6 avril 2008 17 juin 2005 à 13:07
il faut donc rajouter une fonction de filtrage pour avoir class%C3%A9 .php
ca doit exister en tout fait çà;)
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 17 juin 2005 à 12:04
non
s'était un exemple comme un autre.
exemple : classé.php
et là il ya bug xml.
@+
Mumuri
Messages postés320Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention 6 avril 2008 17 juin 2005 à 11:35
merci j'édite çà
une petite question
pour le fichier classé, est un fichier spécifique à bannir automatiquement ( à ce moment là, il suffit de le rajouté dans les fichiers interdits)
est ce que c'est plutot un probléme liée au extensions, a ce moment la il suffit d'interdire les fichiers sans extension.
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 17 juin 2005 à 11:18
Re,
en regardant bien le code j'ai trouvé d'autres érreur :
<?='toto'?>
Pas bien du tout ça éxiste mais utilise ça que sur ton serveur.
LE XHTML !!!!!!
et si un fichier est nommé: classé
ça mettra classé dans le xml et ça fait une érreur.
Pour la dernière érreur je sais pas comment faire mais pour le reste c'est réglé :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
<title>Générateur de fichier sitemap</title>
</head>
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 17 juin 2005 à 10:56
Salut,
Super bien pensée !!!
3 trucs pour l'améliorer :
1) mets $racine= 'http://'.$_SERVER['HTTP_HOST'];
Pas besoin de paramétrer comme ça
2) utilise les ' et pas les "
3) <? deviens <?php
18 févr. 2007 à 10:40
Bravo !
4 déc. 2006 à 13:38
http://www.outils-referencement.com/outils/sitemaps/generateur
24 janv. 2006 à 21:51
mon site en php utilise des arguments du genre : articles.php?lng=fr&pg=440 comment les répertorier ?
Bravo et merci.
15 janv. 2006 à 14:08
Merci d'avoir créé ce script et d'y avoir passé autant de temps
yvan
25 juil. 2005 à 21:01
ça marche bien sur.
@+
25 juil. 2005 à 20:37
essaye ca ...
13 juil. 2005 à 09:28
super votre truc, je vais le tester.
question pourrait on l'utiliser pour un site qui n'a pas le php (les pauvres) en déporté en quelque sorte. après il n'y aurait plus qu'à placer par ftp le fichier généré.
de mon coté j'ai écris un petit bout de code tout simple pour le sitemap de sites dynamiques, il s'inspire d'idées émises sur un forum (je remercie celui qui l'a posée).
le principe : on place 2 lignes en tête de page dynamique qui allimentent une table, puis une requête qui régulièrment reprend cette table et génére le fichier xml. ce sont donc les visiteurs qui allimentent la table uniquement avec les pages taggées.
vu la qualité de vos commentaires et corrections j'aimerais vous le passer pour des améliorations certaines.sinon il est sur comscripts à la rubrique divers.
amicalement à tous
7 juil. 2005 à 09:52
1) Pour la compatibilité avec PHP5
Remplacer la ligne suivante:
$files=array_merge($files,GetDirContents($dir.'/'.$file));
Par celle-ci:
$files=array_merge((array)$files,(array)GetDirContents($dir.'/'.$file));
En effet en PHP5, array_merge n'accepte que les tableau duement déclarés.
2) Pour une meilleure visualisation dans les éditeurs type Dreamweaver
Remplacer toutes les ocurrences suivantes:
'<?xml version="1.0" encoding="UTF-8"?>'
Par ceci:
html_entity_decode('<?xml version="1.0" encoding="UTF-8"?>')
Ceci pour éviter que l'éditeur n'interprette le ?> comme une fin de script PHP.
En espérant avoir été utile,
Jean-Pierre
6 juil. 2005 à 16:30
Un bémol cependant, ça ne marche pas avec php5...
C'est la ligne :
$files=array_merge($files,GetDirContents($dir.'/'.$file));
qui semble poser problème.
A suivre...
30 juin 2005 à 20:57
Un seul bémol : quand on a un site dynamique avec des variables partout dans les url, ca restreint sacrement le nombre de pages ...
Mais bon, on ne peut pas tout avoir ...
20 juin 2005 à 13:16
Je ne suis qu'un petit amateur.
Très intéressé par votre code, j'ai essayé de l'installer.
Malheureusement, j'ai un message d'erreur:
Un caractère incorrect a été trouvé dans un contenu de texte. Erreur de traitement de la ressource http://www.chriproductio...
<title>G
Peut-on m'aider.
Merci d'avance.
Christian
17 juin 2005 à 21:13
17 juin 2005 à 19:10
j'ai XHTMLisé et CSSisé le tout
et enlevé des fautes (;)
Et enlevé les echo en trop et remplacé les . dans les echo par des ,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1" />
<style type="text/css">
body {
text-align: left;
background-color: #FFFFFF;
}
.center {
text-align: center;
}
.italic {
font-style: italic;
}
</style>
<title>Générateur de fichier sitemap</title>
</head>
Générateur de sitemap en xml
Copyright Top flood
Contributeurs :
Kloh : TimeSplitters' Games; ImmortalPC :[immortalpc.free.fr Immortal-PC]
Listages des urls autorisés pour le sitemap
<?php
//set_time_limit(60*10); pas forcément utile : fixe le temps d'exécution du script à 10 minutes (10*60 seconde)
define('LIMITLIENPARFICHIER',1000); // 1000 liens maximums dans chaque fichier
define('LIMITLIENINDEXE',50000); // 50 000 liens maximum au total
// générateur de fichiers sitemap.xml pour google
// 1- éditer les fichiers, extensions et dossiers interdits ainsi que leur mode de fonctionnement (0 par défaut) ( sans /)
// 2- éditez la variable $compressionGZ pour avoir ou non une compression sur vos fichiers (valable uniquement si vous avez plus de 1000 liens)
// 3- uploadez le fichier sur votre compte et lancez à partir d'un navigateur
/** note :
Si vous avez
./image/
./image/ete
./image/hiver
alors si vous mettez "image" dans dossier interdit, tous les sous dossiers seront interdits
si vous mettez "hiver" alors le dossier hiver sera interdit
ne mettez pas "/image/hiver"
*/
$racine= 'http://'.$_SERVER['HTTP_HOST'];
$compressionGZ = false; // false pas de compression true compression
$Goption=0;// option de filtrage (laissez 0 si vous ne comprenez pas)
// 0 - filtrage bit à bit (du type dossiercherche==dossierencour)
// 1 - présence d'une partie du mot dans le dossier
// 2 - filtrage par expressions réguliéres
$ExtensionsAutorises= array('php','php3','html','htm');
$DossiersInterdits = array('includes','modules','sessions','images','pnadodb','webanalyse','_flood','javascript','language','parameters','smileys','themes','_streifer');
$FichiersInterdits = array('config.php','config_i.php','streifer_forum.gif.php','xmlrpc.php','referer.php','config-old.php','test.php','admin.php','image.php','header.php','footer.php','error.php','confige.php','banners.php','pntables.php','print.php','mainfile.php','modules.php','backend.php');
$myfiles=GetDirContents('.');
/**
function Dossier_Autorisé
param : $DossierCourant
return : vrai si dossier autorisé faux sinon
*/
function Dossier_Autorisé($DossierCourant){
global $DossiersInterdits;
return Est_Autorisé($DossierCourant, $DossiersInterdits);
}
/**
function Dossier_Autorisé
param : $DossierCourant
return : vrai si dossier autorisé faux sinon
*/
function Fichier_Autorisé($FichierCourant){
global $FichiersInterdits;
return Est_Autorisé($FichierCourant, $FichiersInterdits);
}
/**
function Extension_Autorisé
*/
function Extension_Autorisé($ExtensionCourante){
global $ExtensionsAutorises;
return !Est_Autorisé($ExtensionCourante,$ExtensionsAutorises);
}
/**
permet de réaliser les deux fonctions précédentes
*/
function Est_Autorisé($DossierCourant,$Interdits){
global $Goption;
$drapeau = true;
while ($drapeau && list(,$Dossier)=each($Interdits) ){
if ( ComparaisonFichier($DossierCourant,$Dossier,$Goption))$drapeau = false;
}
reset($Interdits);
return $drapeau;
}
function ComparaisonFichier($DossierCourant,$Dossier,$option=0){
switch ($option){
case 0:
// faire une comparaison bit à bit
return ($DossierCourant == $Dossier);
break;
case 1:
// faire un filtre avec strpos
$pos = strpos($mystring, $findme);
if ($pos === false) {
return false;
} else {
return true;
}
break;
case 2:
// faire un filtre avec les expressions réguliéres
return ereg($Dossier,$DossierCourant);
break;
}
}
/**
fonction getextension : retourne l'extension d'un fichier
source : nexen.net
param : $fichier
return: extension du fichier
*/
function getextension($fichier){
$bouts = explode('.', $fichier);
return array_pop($bouts);
}
/**
fonction GetDirContents
param : $dir dossier racine (le test est récursif)
return : liste des urlsDossier_Autorisé
*/
function GetDirContents($dir){
global $racine;
$i=0;
ini_set('max_execution_time',10);
if (!is_dir($dir)){die ('PROBLEME: '.$dir.'!');}
if ($root=@opendir($dir)){
while ($file=readdir($root)){
if($file=='.' || $file=='..'){continue;}
if(is_dir($dir.'/'.$file) && Dossier_Autorisé($file)){
if(!IsSet($files)){$files = NULL;}
$files=array_merge($files,GetDirContents($dir.'/'.$file));
}else{
$extension=getextension($file);
if (Extension_Autorisé($extension) && Fichier_Autorisé($file)){
echo ' ',$dir,' /',htmlentities($file),'
',"\r\n";
$files[$i]['lien'] =utf8_encode($racine.substr($dir,1).'/'.$file);
// rajout de la date
// source : http://www.orvinfait.fr/scripts_web_performant.html
$modi_fich=filemtime($dir.'/'.$file);
$files[$i]['date']=date('Y-m-d', $modi_fich);
$i++;
}
}
}
}
if(!IsSet($files)){$files = NULL;}
return $files;
}
$nbliens=count($myfiles);
echo ''.$nbliens.' liens référencés dans les fichiers.
',"\r\n";
if ($nbliens>LIMITLIENPARFICHIER){
// utilisation de la norme pour les sites souhaitant référencés plus de 1000 liens
// un fichier sitemap à générer en plus
$numfichier=1;
echo 'Génération des fichiers sitemapXX.xml...
',"\r\n";
}else {
$numfichier='';
echo 'Génération du fichier sitemap.xml...
',"\r\n";
}
if ($compressionGZ)
{
//http://docs.php.net/en/ref.zlib.html
$open='gzopen';
$write='gzwrite';
$close='gzclose';
$GZ='.gz';
} else
{
$open='fopen';
$write='fwrite';
$close='fclose';
$GZ='';
}
$CurLiens=0;
while ($CurLiens<$nbliens && $CurLiens<LIMITLIENINDEXE )
{
if ($fp = $open('sitemap'.$numfichier.'.xml'.$GZ, 'w')){
$write($fp,'<?xml version="1.0" encoding="UTF-8"?>'."\r\n");
$write($fp,''."\r\n");
$Limite = $CurLiens + LIMITLIENPARFICHIER; // si lien courant vaut 20000 dés qu'on arrive à 21000 on arrete
while ($CurLiens< $Limite && $CurLiens<LIMITLIENINDEXE && list(,$file)=each($myfiles))
{
$write($fp,' '."\r\n".' <loc>'.$file['lien'].'</loc> '."\r\n \r\n");
$write($fp,"\t\t".'<lastmod>'.$file['date'].'</lastmod>'."\n");
$write($fp,'<changefreq>monthly</changefreq>');
$write($fp,'0.5
');
$CurLiens ++;
}
$write($fp, '');
$close($fp);
echo '[./sitemap'.$numfichier.'.xml'.$GZ.' fichier sitemap'.$numfichier.'.xml'.$GZ.']
',"\r\n";
}else{
echo 'sitemap'.$numfichier.'.xml',"\r\n"
,'
<textarea rows="30" cols="100">',"\r\n"
,'<?xml version="1.0" encoding="UTF-8"?>',"\r\n";
?>
<?php
foreach($myfiles as $file){
?>
<loc><?php echo $file['lien']; ?></loc>
<lastmod><?php echo $file['date']; ?></lastmod>
<changefreq>monthly</changefreq>
0.5
<?php
}
?>
</textarea>
<?php
}
$numfichier++;
}
if ($numfichier!=1)
{
echo 'Génération du fichier sitemap index file.xml...
';
// génération du sitemap index file
if ($fp = fopen('sitemap.xml', 'w+')){
fwrite($fp, '<?xml version="1.0" encoding="UTF-8"?>'."\r\n");
fwrite($fp, '<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84">'."\r\n");
$date=date('Y-m-d');
for($k=1;$k<$numfichier;$k++)
{
fwrite($fp, '<sitemap>'."\r\n");
fwrite($fp,'<loc>'.$racine.'/sitemap'.$k.'.xml'.$GZ.'</loc>'."\r\n");
fwrite($fp, '<lastmod>'.$date.'</lastmod>'."\r\n");
fwrite($fp,'</sitemap>'."\r\n");
}
fwrite($fp, '</sitemapindex>'."\r\n");
fclose($fp);
echo '[./sitemap.xml fichier sitemap.xml]
',"\r\n";
} else
{
echo '
<textarea rows="30" cols="100">',"\r\n"
,'<?xml version="1.0" encoding="UTF-8"?>',"\r\n"
,'<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84">',"\r\n";
$date=date("Y-m-d");
for($k=1;$k<$numfichier;$k++)
{
echo '<sitemap>',"\r\n"
,'<loc>',$racine,'/sitemap',$k,'.xml</loc>',"\r\n"
,'<lastmod>',$date,'</lastmod>',"\r\n"
,'</sitemap>',"\r\n";
}
echo '</sitemapindex>',"\r\n";
}
}
?>
génération du sitemap terminé
Haut de la page
</html>
@+
17 juin 2005 à 18:07
Nikel voilà ce que ça donne :
Donc mets pour le xml utf8_encode($file['lien'])
Et pour l'affichage des fichiers scannés htmlentities($file)
@+
17 juin 2005 à 13:55
http://fr.php.net/manual/fr/function.utf8-encode.php
17 juin 2005 à 13:07
ca doit exister en tout fait çà;)
17 juin 2005 à 12:04
s'était un exemple comme un autre.
exemple : classé.php
et là il ya bug xml.
@+
17 juin 2005 à 11:35
une petite question
pour le fichier classé, est un fichier spécifique à bannir automatiquement ( à ce moment là, il suffit de le rajouté dans les fichiers interdits)
est ce que c'est plutot un probléme liée au extensions, a ce moment la il suffit d'interdire les fichiers sans extension.
17 juin 2005 à 11:18
en regardant bien le code j'ai trouvé d'autres érreur :
<?='toto'?>
Pas bien du tout ça éxiste mais utilise ça que sur ton serveur.
LE XHTML !!!!!!
et si un fichier est nommé: classé
ça mettra classé dans le xml et ça fait une érreur.
Pour la dernière érreur je sais pas comment faire mais pour le reste c'est réglé :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
<title>Générateur de fichier sitemap</title>
</head>
Génération du fichier sitemap.xml...
<center>Copyright [./sitemap.xml fichiers sitemap.xml]
';
}else{
echo '
<textarea rows="30" cols="100">';
,'<?xml version="1.0" encoding="UTF-8"?>',"\r\n";
?>
<?php
foreach($myfiles as $file){
?>
<loc><?php echo $file['lien']; ?></loc>
<lastmod><?php echo $file['date']; ?></lastmod>
<changefreq>monthly</changefreq>
0.5
<?php
}
?>
</textarea>
<?php
}
?>
génération du sitemap terminé
</html>
@+
17 juin 2005 à 10:56
Super bien pensée !!!
3 trucs pour l'améliorer :
1) mets $racine= 'http://'.$_SERVER['HTTP_HOST'];
Pas besoin de paramétrer comme ça
2) utilise les ' et pas les "
3) <? deviens <?php
9/10
@+