"","T"=>"",":"=>""); function form_date($nom_fichf) { $modi_fich=filemtime($nom_fichf); $datet=date("r", $modi_fich); $lon_dat=strlen($datet); $lon_dat1=$lon_dat-2; $lon_dat2=$lon_dat-5; $resu_da=date('Y-m-d\TH:i:s', $modi_fich).substr($datet, $lon_dat2, 3).":".substr($datet,$lon_dat1, 2); return $resu_da; } function enre($nom_fiche,$contenu_fiche,$telog) { global $nom1, $lifi, $vlifi; $nom_fiche.=".gz"; if(file_exists($nom_fiche)) { unlink($nom_fiche); } if($telog>0) { $zp=gzopen($nom_fiche, "w9"); gzwrite($zp, $contenu_fiche); gzclose($zp); @chmod($nom_fiche,0777); $lifi[$vlifi]=$nom_fiche; $vlifi++; } } /* Cette fonction enregistre les fichiers qui ont été modifiés ou créés */ function enre_fich_modif($loca1, $var_date1) { global $terz, $a_enr_fict, $date_ref, $nom_fich, $teloc, $trans1, $adr_fich; $modi_fich=filemtime($nom_fich); $datep=date("YmdHis", $modi_fich); $ou_va=array_search($adr_fich, $loca1); if($ou_va) { /* Le fichier est déjà référencé. Le programme vérifie si la date a été modifiée. */ $date_fi_vu=strtr($var_date1[$ou_va], $trans1); $loda=strlen($date_fi_vu); if($loda<14) { /* Le format de date ayant changé par rapport à la version 0.01 cette ligne de code assure la compatibilité avec cette ancienne version */ $date_fi_vu.="250000"; } else { $date_fi_vu=substr($date_fi_vu, 0, 14); /* echo"

date_fi_vu $date_fi_vu

"; */ } /*test sur la date */ if($datep>$date_fi_vu) { /* le fichier a été modifié */ echo"

fichier modifie : $nom_fich

"; $a_enr_fict.="\t\n\t\t".$adr_fich."\n"; $a_enr_fict.="\t\t".form_date($nom_fich)."\n\t\n"; $teloc++; } } else { /* avec ce if je ne conserve que les fichiers qui n'étaient pas présents */ if($date_ref<$datep) { /* echo"

date_ref $date_ref

"; */ echo"

Le fichier $nom_fich est nouveau

"; $a_enr_fict.="\t\n\t\t".$adr_fich."\n"; $a_enr_fict.="\t\t".form_date($nom_fich)."\n\t\n"; $teloc++; } } } /* le test ci-dessous permet de savoir si le sitemap_index.gz existe si c'est le cas il y est ajouté un fichier contenant les dernières modifications sinon sitemap_index.gz est créé avec les différents fichiers sitemap */ $nomind_rec="sitemap_index.gz"; if(file_exists($nomind_rec)) { $zp=gzopen($nomind_rec, "r9b"); $contents=gzread($zp,11000000); gzclose($zp); $chet=explode("",$contents); $long=count($chet); for($is1=1;$is1<$long;$is1++) { $chet_adr=explode("",$chet[$is1]); $resu_exp=explode("",$chet_adr[1]); $in_adr[$is1]=$resu_exp[0]; $chet_adr=explode("",$chet[$is1]); $resu_exp=explode("",$chet_adr[1]); $in_date[$is1]=$resu_exp[0]; } $telo1=0; $teloc=0; $a_enr_fir="\n\n"; $a_enr_fi1t=$a_enr_fir; $a_enr_fict=$a_enr_fir; $handle=opendir($rep_deb); $rot1=0; while ($file=readdir($handle)) { if($file != "." && $file != "..") { $fi1[$rot1]=$file; $rot1++; } } if($fi1) { /* lecture du fichier xml de niveau 1 */ $nomind_rec_1="sitemap_1.gz"; if(file_exists($nomind_rec_1)) { $zp=gzopen($nomind_rec_1, "r9b"); $contents1=gzread($zp, 11000000); gzclose($zp); $chet1=explode("",$contents1); $long1=count($chet1); for($is1=1;$is1<$long1;$is1++) { $chet_adr=explode("",$chet1[$is1]); $resu_exp=explode("",$chet_adr[1]); $in_adr1[$is1]=$resu_exp[0]; $chet_adr=explode("",$chet1[$is1]); $resu_exp=explode("",$chet_adr[1]); $in_date1[$is1]=$resu_exp[0]; } } else { $in_adr1=array(""); $in_date1=array(""); } sort($fi1); for($i1=0;$i1<$rot1;$i1++) { /* $file=strtr($fi1[$i1], $transfo); */ $file=$fi1[$i1]; $ser_che_1=explode(".",$file); if(!(in_array($file, $per))) { $a_enr_fi2t=$a_enr_fir; $lcon1=count($ser_che_1); if($lcon1==1) { $don2=$rep_deb.$file; if(is_dir($don2)) { /* lecture du fichier xml de niveau 2 */ $nomind_rec_2=$rep_deb."sitemap_".$file.".gz"; if(file_exists($nomind_rec_2)) { $zp=gzopen($nomind_rec_2, "r9b"); $contents2=gzread($zp, 11000000); gzclose($zp); $chet2=explode("",$contents2); $long2=count($chet2); for($is2=1;$is2<$long2;$is2++) { $chet_adr=explode("",$chet2[$is2]); $resu_exp=explode("",$chet_adr[1]); $in_adr2[$is2]=$resu_exp[0]; $chet_adr=explode("",$chet2[$is2]); $resu_exp=explode("",$chet_adr[1]); $in_date2[$is2]=$resu_exp[0]; } } else { $in_adr2=array(""); $in_date2=array(""); } $handle2=opendir($don2); $telo2=0; $rot2=0; $fi2=array(""); while ($file2=readdir($handle2)) { if($file2 != "." && $file2 != "..") { $fi2[$rot2]=$file2; $rot2++; } } if($fi2) { sort($fi2); for ($i2=0;$i2<$rot2;$i2++) { $file2=$fi2[$i2]; $ser_che_2=explode(".",$file2); if(!in_array($file2, $per)) { $a_enr_fi3t=$a_enr_fir; $a_enr_fi4t=$a_enr_fir; $lcon2=count($ser_che_2); if($lcon2==1) { /* niveau 3 */ $don3=$rep_deb.$file."/".$file2; if(is_dir($don3)) { /* lecture du fichier xml de niveau 3 */ $nomind_rec_3="sitemap_".$file2.".gz"; if(file_exists($nomind_rec_3)) { $zp=gzopen($nomind_rec_3, "r9b"); $contents3=gzread($zp, 11000000); gzclose($zp); $chet3=explode("",$contents3); $long3=count($chet3); for($is3=1;$is3<$long3;$is3++) { $chet_adr=explode("",$chet3[$is3]); $resu_exp=explode("",$chet_adr[1]); $in_adr3[$is3]=$resu_exp[0]; $chet_adr=explode("",$chet3[$is3]); $resu_exp=explode("",$chet_adr[1]); $in_date3[$is3]=$resu_exp[0]; } } else { $in_adr3=array(""); $in_date3=array(""); } /* lecture du fichier xml de niveau 4 */ $nomind_rec_4="sitemap_".$file2."_2.gz"; /* echo"

fichier testé niveau 4 $nomind_rec_4

"; */ if(file_exists($nomind_rec_4)) { $zp=gzopen($nomind_rec_4, "r9b"); $contents4=gzread($zp, 11000000); gzclose($zp); $chet4=explode("",$contents4); $long4=count($chet4); for($is4=1;$is4<$long4;$is4++) { $chet_adr=explode("",$chet4[$is4]); $resu_exp=explode("",$chet_adr[1]); $in_adr4[$is4]=$resu_exp[0]; $chet_adr=explode("",$chet4[$is4]); $resu_exp=explode("",$chet_adr[1]); $in_date4[$is4]=$resu_exp[0]; } } else { $in_adr4=array(""); $in_date4=array(""); } $handle3=opendir($don3); $telo3=0; $telo4=0; $rot3=0; $fi3=array(""); while ($file3=readdir($handle3)) { if($file3 != "." && $file3 != "..") { $fi3[$rot3]=$file3; $rot3++; } } if($fi3) { sort($fi3); for ($i3=0;$i3<$rot3;$i3++) { $file3=$fi3[$i3]; $ser_che_3=explode(".",$file3); if(!in_array($file3, $per)) { $lcon3=count($ser_che_3); if($lcon3==1) { /* niveau 4 */ $don4=$rep_deb.$file."/".$file2."/".$file3; if(is_dir($don4)) { $handle4=opendir($don4); $telo4=0; $rot4=0; $fi4=array(""); while($file4=readdir($handle4)) { if($file4 != "." && $file4 != "..") { $fi4[$rot4]=$file4; $rot4++; } } if($fi4) { sort($fi4); for ($i4=0;$i4<$rot4;$i4++) { $file4=$fi4[$i4]; $ser_che_4=explode(".",$file4); if(!in_array($file4, $per)) { $lcon4=count($ser_che_4); if($lcon4==1) { $don5=$rep_deb.$file."/".$file2."/".$file3."/".$file4; if(is_dir($don5)) { /* niveau 5 */ echo"

LIMITE : Le programme n'indexe les sous-repertoires que sur trois niveau.\n"; echo"Les fichiers de $don5 ne seront donc pas indexes mais vous pouvez modifier le programme pour les indexer

"; } } else { /* niveau 4 */ $lcon4--; $fiim1=$ser_che_4[$lcon4]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); $nom_fich=$rep_deb.$file."/".$file2."/".$file3."/".$file4; $adr_fich=$adresse_site.$file."/".$file2."/".$file3."/".$file4; if(!in_array($fiim1, $perim)) { enre_fich_modif($in_adr4, $in_date4); } } } } } } } else { /* niveau 3 */ $lcon3--; $fiim1=$ser_che_3[$lcon3]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); $nom_fich=$rep_deb.$file."/".$file2."/".$file3; $adr_fich=$adresse_site.$file."/".$file2."/".$file3; if(!in_array($fiim1, $perim)) { enre_fich_modif($in_adr3, $in_date3); } } } } } /* juste apres la fin du while de niveau 3 enregistrement du fichier niveau 3*/ /* $a_enr_fi3t.="
\n"; $nom1="sitemap_".$file2; enre($nom1,$a_enr_fi3t,$telo3); */ /* Juste apres la fin du while de niveau 3 enregistrement du fichier niveau 4. Tous les fichiers des differents sous-repertoires d'un dossier niveau 3 sont dans un meme fichier . S'il avait ete fait un repertoire pour chaque dossier de niveau 4 le nombre de fichier sitemap pour le portail Orvinfait aurait depasse mille or mille est la limite fixe par Google. */ /* $a_enr_fi4t.="\n"; $nom1="sitemap_".$file2."_2.gz"; enre($nom1,$a_enr_fi4t,$telo4); */ } } else { /* niveau 2 */ $lcon2--; $fiim1=$ser_che_2[$lcon2]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); $nom_fich=$rep_deb.$file."/".$file2; $adr_fich=$adresse_site.$file."/".$file2; if(!in_array($fiim1, $perim)) { enre_fich_modif($in_adr2, $in_date2); } } } } } /* juste apres la fin du while de niveau 2 enregistrement du fichier niveau 2 */ /* $a_enr_fi2t.="\n"; $nom1="sitemap_".$file.".gz"; enre($nom1,$a_enr_fi2t,$telo2); */ } } else { $lcon1--; $fiim1=$ser_che_1[$lcon1]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); /* enregistrement des valeurs dans un tableau pour niveau 1*/ if(!(in_array($fiim1, $perim))) { $rge_ade=explode("sitemap_",$file); $lcona=count($rge_ade); if($lcona==1) { $nom_fich=$rep_deb.$file; $adr_fich=$adresse_site.$file; enre_fich_modif($in_adr1, $in_date1); } } } } } } /* Création du fichier sitemap_a_orvinfait.gz Ce fichier contient la liste des derniers fichiers modifiés ou créés */ $a_enr_fict.="\n"; $nom1="sitemap_a_orvinfait"; enre($nom1,$a_enr_fict,$teloc); /* $a_enr_fi1t.="\n"; $nom1="sitemap_1.gz"; enre($nom1,$a_enr_fi1t,$telo1); */ /* Mise en place du fichier sitemap_a_orvinfait.gz ou remplacement de la date de ce fichier dans sitemap_index.gz */ $a_enr_fi_ind="\n\n"; $datet=date("r"); $lon_dat=strlen($datet); $lon_dat1=$lon_dat-2; $lon_dat2=$lon_dat-5; $date_cre=date('Y-m-d\TH:i:s').substr($datet, $lon_dat2, 3).":".substr($datet,$lon_dat1, 2); $date_cre2="\t\t".$date_cre."\n\t
\n"; $adr_fich=$adresse_site."sitemap_a_orvinfait.gz"; $ou_va=array_search($adr_fich, $in_adr); $nomind="sitemap_index.gz"; unlink($nomind); if($ou_va) { $in_date[$ou_va]=$date_cre; } else { $a_enr_fi_ind.="\t\n\t\t".$adr_fich."\n".$date_cre2; } for($i=1;$i<$long;$i++) { $a_enr_fi_ind.="\t\n\t\t".$in_adr[$i]."\n"."\t\t".$in_date[$i]."\n\t\n"; } $a_enr_fi_ind.=""; $nomind="sitemap_index.gz"; $site_map_fi=gzopen($nomind,"w9b"); gzwrite($site_map_fi, $a_enr_fi_ind); gzclose($site_map_fi); @chmod($nomind,0777); } else { /* sitemap_index.gz n'exite pas. Il est donc créé avec les fichiers sitmaps */ $telo1=0; $a_enr_fir="\n\n"; $a_enr_fi1t=$a_enr_fir; $handle=opendir($rep_deb); $rot1=0; while ($file=readdir($handle)) { if($file != "." && $file != "..") { $fi1[$rot1]=$file; $rot1++; } } if($fi1) { sort($fi1); for($i1=0;$i1<$rot1;$i1++) { /* $file=strtr($fi1[$i1], $transfo); */ $file=$fi1[$i1]; /* echo"

$file

";*/ $ser_che_1=explode(".",$file); if(!(in_array($file, $per))) { $a_enr_fi2t=$a_enr_fir; $lcon1=count($ser_che_1); if($lcon1==1) { $don2=$rep_deb.$file; if(is_dir($don2)) { $handle2=opendir($don2); $telo2=0; $rot2=0; $fi2=array(""); while ($file2=readdir($handle2)) { if($file2 != "." && $file2 != "..") { $fi2[$rot2]=$file2; $rot2++; } } if($fi2) { sort($fi2); for ($i2=0;$i2<$rot2;$i2++) { $file2=$fi2[$i2]; $ser_che_2=explode(".",$file2); if(!in_array($file2, $per)) { $a_enr_fi3t=$a_enr_fir; $a_enr_fi4t=$a_enr_fir; $lcon2=count($ser_che_2); if($lcon2==1) { /* niveau 3 */ $don3=$rep_deb.$file."/".$file2; if(is_dir($don3)) { $handle3=opendir($don3); $telo3=0; $telo4=0; $rot3=0; $fi3=array(""); while ($file3=readdir($handle3)) { if($file3 != "." && $file3 != "..") { $fi3[$rot3]=$file3; $rot3++; } } if($fi3) { sort($fi3); for ($i3=0;$i3<$rot3;$i3++) { $file3=$fi3[$i3]; $ser_che_3=explode(".",$file3); if(!in_array($file3, $per)) { $lcon3=count($ser_che_3); if($lcon3==1) { /* niveau 4 */ $don4=$rep_deb.$file."/".$file2."/".$file3; if(is_dir($don4)) { $handle4=opendir($don4); $telo4=0; $rot4=0; $fi4=array(""); while($file4=readdir($handle4)) { if($file4 != "." && $file4 != "..") { $fi4[$rot4]=$file4; $rot4++; } } if($fi4) { sort($fi4); for ($i4=0;$i4<$rot4;$i4++) { $file4=$fi4[$i4]; $ser_che_4=explode(".",$file4); if(!in_array($file4, $per)) { $lcon4=count($ser_che_4); if($lcon4==1) { $don5=$rep_deb.$file."/".$file2."/".$file3."/".$file4; if(is_dir($don5)) { /* niveau 5 */ echo"

LIMITE : Le programme n'indexe les sous-repertoires que sur trois niveau.\n"; echo"Les fichiers de $don5 ne seront donc pas indexes mais vous pouvez modifier le programme pour les indexer

"; } } else { /* niveau 4 */ $lcon4--; $fiim1=$ser_che_4[$lcon4]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); if(!in_array($fiim1, $perim)) { $a_enr_fi4t.="\t\n\t\t".$adresse_site.$file."/".$file2."/".$file3."/".$file4."\n"; $nom_fich=$rep_deb.$file."/".$file2."/".$file3."/".$file4; $a_enr_fi4t.="\t\t".form_date($nom_fich)."\n\t\n"; $telo4++; } } } } } } } else { /* niveau 3 */ $lcon3--; $fiim1=$ser_che_3[$lcon3]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); if(!in_array($fiim1, $perim)) { $a_enr_fi3t.="\t\n\t\t".$adresse_site.$file."/".$file2."/".$file3."\n"; $nom_fich=$rep_deb.$file."/".$file2."/".$file3; $a_enr_fi3t.="\t\t".form_date($nom_fich)."\n\t\n"; $telo3++; } } } } } /* juste apres la fin du while de niveau 3 enregistrement du fichier niveau 3*/ $a_enr_fi3t.="
\n"; $nom1="sitemap_".$file2; enre($nom1,$a_enr_fi3t,$telo3); /* Juste apres la fin du while de niveau 3 enregistrement du fichier niveau 4. Tous les fichiers des differents sous-repertoires d'un dossier niveau 3 sont dans un meme fichier . S'il avait ete fait un repertoire pour chaque dossier de niveau 4 le nombre de fichier sitemap pour le portail Orvinfait aurait depasse mille or mille est la limite fixe par Google. */ $a_enr_fi4t.="\n"; $nom1="sitemap_".$file2."_2"; enre($nom1,$a_enr_fi4t,$telo4); } } else { /* niveau 2 */ $lcon2--; $fiim1=$ser_che_2[$lcon2]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); if(!in_array($fiim1, $perim)) { $a_enr_fi2t.="\t\n\t\t".$adresse_site.$file."/".$file2."\n"; $nom_fich=$rep_deb.$file."/".$file2; $a_enr_fi2t.="\t\t".form_date($nom_fich)."\n\t\n"; $telo2++; } } } } } /* juste apres la fin du while de niveau 2 enregistrement du fichier niveau 2 */ $a_enr_fi2t.="\n"; $nom1="sitemap_".$file; enre($nom1,$a_enr_fi2t,$telo2); } } else { /* enregistrement des valeurs dans un tableau pour niveau 1*/ $lcon1--; $fiim1=$ser_che_1[$lcon1]; /* A supprimer si toutes vos extensions sont en minuscules. */ $fiim1=strtolower($fiim1); if(!(in_array($fiim1, $perim))) { $rge_ade=explode("sitemap_",$file); $lcona=count($rge_ade); if($lcona==1) { $a_enr_fi1t.="\t\n\t\t".$adresse_site.$file."\n"; $nom_fich=$rep_deb.$file; $a_enr_fi1t.="\t\t".form_date($nom_fich)."\n\t\n"; $telo1++; } } } } } } $a_enr_fi1t.="\n"; $nom1="sitemap_1"; /* enre($nom1,$a_enr_fi1t,$telo1); */ $a_enr_fi_ind="\n\n"; $datet=date("r"); $lon_dat=strlen($datet); $lon_dat1=$lon_dat-2; $lon_dat2=$lon_dat-5; $date_cre=date('Y-m-d\TH:i:s').substr($datet, $lon_dat2, 3).":".substr($datet,$lon_dat1, 2); $date_cre="\t\t".$date_cre."\n\t
\n"; for($i=0;$i<$vlifi;$i++) { $a_enr_fi_ind.="\t\n\t\t".$adresse_site.$lifi[$i]."\n".$date_cre; } $a_enr_fi_ind.=""; $nomind="sitemap_index.gz"; if(file_exists($nomind)) { unlink($nomind); } $zp=gzopen($nomind, "w9"); gzwrite($zp, $a_enr_fi_ind); gzclose($zp); @chmod($nomind,0777); echo"

termine

"; } ?>