Soyez le premier à donner votre avis sur cette source.
Vue 3 942 fois - Téléchargée 256 fois
page principale: <?php echo("<html> <head> <title></title> <iframe src='chk_lien_affiche.php' align='right' height='100%' width='50%' name='affiche' frameborder=no></iframe>"); function decalage($chemin) { $tab=explode("/",$chemin); $chem=$tab[sizeof($tab)-1]; $tab[sizeof($tab)-1]=""; $s=implode("/",$tab); $espace=""; for($i=0;$i<sizeof($tab);$i++) { $espace=$espace." "; } $espace="\n".$espace; $tab[0]=$chem; $tab[1]=$espace; return $tab; } function scan_dossier($chemin) { $ide=microtime(); $id=str_replace(chr(32),"3",$ide); $id=str_replace(".","3",$id); $dir=opendir($chemin); echo("<script> function affiche_dossier$id() { if (dossier$id.style.display=='none'){ dossier$id.style.display=''; img_$id.src=\"explorer/petit_moins.gif\"; img2_$id.src=\"explorer/dir-open.gif\"; } else { dossier$id.style.display='none'; img_$id.src=\"explorer/petit_plus.gif\"; img2_$id.src=\"explorer/dir-close.gif\"; } } </script>"); $tab=decalage($chemin); echo($tab[1]); echo("<A HREF='#$id' name=$id onClick=affiche_dossier$id()><img src=\"explorer/petit_plus.gif\" id=\"img_$id\" border=\"0\"><img src=\"explorer/dir-close.gif\" id=\"img2_$id\" border=\"0\"></A> $tab[0] "); echo("<A HREF='chk_lien_affiche.php?chem=$chemin' target='affiche'><img src=\"explorer/icon-acl.gif\" border=\"0\"></A><br>"); echo("<DIV id='dossier$id' style=\"display:'none'\">"); $nb_file=0; while ($file = readdir($dir)) { if ($file != '.' && $file != '..') { if(is_dir($chemin."/".$file)) { scan_dossier($chemin."/".$file); } else { $tab_file[$nb_file]=$file; $nb_file++; } } } $i=0; $tab=decalage($chemin); while($tab_file[$i]) { echo($tab[1]); echo($tab[1]); echo("<img src=\"explorer/icon-acl.gif\"> ".$tab_file[$i]); echo("<br>"); $i++; } echo("</DIV>"); } scan_dossier("."); ?> ////////////////////////////////////// iframe: <?php function test_commentaire($s) { return eregi("^\/\/",$s); } function test_format($s) { //SAUT DE LIGNE FORMAT MAC=13/FORMAT UNIX/DOS=10 $ascii=10; for($i=0;$i<500;$i++) { if(ord($s[$i])==13) $ascii=13; } return chr($ascii); } function traite_chaine($chemin_parent,$s,$bool) { $nb=0; if(eregi("(^[./])|(^[\"\'])",$s))//SI YA . OU / DANS LE NOM C UN LIEN ABSOLUE { $nb=1; $bool=eregi("^[./]",$s); } else if(eregi("^href\=",$s)) { if(eregi("window.open(.{0,70})\.php",$s,$tab)) { return traite_chaine($chemin_parent,$tab[0],$bool); } $nb=5; } else if(eregi("^action\=",$s)) { $nb=7; } else if(eregi("(^doc_root\.)|(^location\:)",$s)) { $nb=9; } else if(eregi("^window\.open",$s)) { $nb=12; } else if(eregi("(^require)|(^include)",$s)) { $nb=8; } if($nb!=0) return traite_chaine($chemin_parent,substr($s,$nb,strlen($s)),$bool); else { if($bool || eregi("^img",$s)) { return $s;//CHEMIN ABSOLUE } else { return $chemin_parent."/".$s;//CHEMIN RELATIF } } } function scan_fichier($chemin_parent,$nom_fichier,$tab_total,$tab_erreur) { $ide=microtime(); $id=str_replace(chr(32),"3",$ide); $id=str_replace(".","3",$id); /////////////different type de lien a ajouter...///// $chaine[0]="location\:\/(.{0,50})\.php"; $chaine[1]="href\=(.{0,40})\.php"; $chaine[2]="img\/(.{0,40})gif"; $chaine[3]="require\(\"(.{0,50})\.php"; $chaine[4]="include\(\"(.{0,50})\.php"; $chaine[5]="href\=(.{0,50})\.inc"; $chaine[6]="href\=(.{0,50})\.css"; $chaine[7]="action\=(.{0,50})\.php"; $chaine[8]="doc_root\.(.{0,50})\.php"; $chaine[9]="window.open(.{0,70})\.php"; $chaine[10]="href\=(.{0,70})\.pdf"; $chaine[11]="href\=(.{0,40})\.html"; $chaine[12]="href\=(.{0,40})\.htm"; /////////////////////////////////// echo("<img src=\"explorer/icon-banner-stored.gif\"> <b>".$nom_fichier."</b>"); echo("<br>"); $tab_total[0]=$nom_fichier; $tab_erreur[0]=$nom_fichier; $f=fopen($chemin_parent."/".$nom_fichier,"r"); $contenu=fread($f,filesize($chemin_parent."/".$nom_fichier)); $tableau=explode(test_format($contenu),$contenu); $nb_total=0; $nb_erreur=0; $lien=false; for($i=0;$i<sizeof($tableau);$i++) { if(!test_commentaire($tableau[$i])) { for($j=0;$j<sizeof($chaine);$j++) { if (eregi($chaine[$j],$tableau[$i],$tab)) { $chaine_lien=traite_chaine($chemin_parent,$tab[0],false); $file = @fopen($chaine_lien,'r'); if (!$file) { $tab_erreur[++$nb_erreur]=$chaine_lien; } $tab_total[++$nb_total]=$chaine_lien; } } } } //////////////////JAVASCRIPT///////////////////////////////////////////////////// echo("<script> function affiche_lien_total$id() { if (lien_total$id.style.display=='none') lien_total$id.style.display=''; else lien_total$id.style.display='none'; } function affiche_lien_erreur$id() { if (lien_erreur$id.style.display=='none') lien_erreur$id.style.display=''; else lien_erreur$id.style.display='none'; } </script>"); //////////////////////////////////////////////////////////////////////////////// $lien_valide=(sizeof($tab_total)-1)-(sizeof($tab_erreur)-1); echo("<A HREF='#$id' name=$id onClick=affiche_lien_total$id()><img src=\"explorer/icon-activate.gif\" border=\"0\"></A> Liens valides : ".$lien_valide." "); echo("<DIV id='lien_total$id' style=\"display:'none'\">"); for ($i=1;$i<sizeof($tab_total);$i++) { echo($tab_total[$i]); echo("<br>"); } echo("</DIV>"); echo("<br>"); echo("<A HREF='#$id' name=$id onClick=affiche_lien_erreur$id()><img src=\"explorer/icon-acl-add.gif\" border=\"0\"></A> Lien invalides: ".(sizeof($tab_erreur)-1)." "); echo("<DIV id='lien_erreur$id' style=\"display:'none'\">"); for ($i=1;$i<sizeof($tab_erreur);$i++) { echo($tab_erreur[$i]); echo("<br>"); } echo("</DIV>"); echo("<hr>"); echo("<br>"); fclose($f); } if($chem) { $dir=opendir($chem); while ($file = readdir($dir)) { if ($file != '.' && $file != '..') { if(eregi("php",$file)) { scan_fichier($chem,$file,$tab_total,$tab_erreur); } } } } ?> ///////////
Désolé, ça ne fonctionne pas.
J'ai installé à la racine de mon site et je lance dans un menu "verif_lien.php".
Je n'ai que l'arborescence des fichiers de ce script et pas celle du reste du site.
Cordialement.
.
explorer
dir-close.gif
dir-open.gif
icon-acl-add.gif
icon-acl.gif
icon-activate.gif
icon-banner-stored.gif
icon-campaign-d.gif
icon-campaign.gif
petit_moins.gif
petit_plus.gif
Thumbs.db
chk_lien_affiche.php
verif_lien.php
Je vais regarder si on peut le rendre compatible avec d'autres navigateurs. Je te tiens au courant bien sûr.
effectivement avec IE on en a plus ; mais les icones d'action ont été oubliées... :
explorer/petit_plus.gif
explorer/dir-close.gif
explorer/icon-acl.gif
explorer/icon-banner-stored.gif
explorer/icon-activate.gif
explorer/icon-acl-add.gif
Je suppose que ce sont celles de l'Explorateur windows, ou du moins que l'on peut les utiliser comme telles ?
j'ai installé 2 fichiers : l'un pour l'iframe et l'autre appelé dans le browser. j'obtiens la liste des fichiers, hiérarchisés correctement, mais rien d'autre. Ton code est il compatible avec autre chose que IE ? j'en doutes.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.