Un peu de php ?
avatar

Moi qui passe pas mal de temps à rechercher des images sympa, il m’arrive régulièrement de tomber sur des sites non finis ou qui ne marchent plus, mais où il reste les images, ce qui nous donne ce genre de choses :

Ce n’est pas forcément très gênant, mais si l’image correspond à ce que l’on cherche, pourquoi ne pas regarder les autres images ? Mais s’il y en a des centaines ??? Il faut cliquer et re-cliquer des centaines de fois au risque de se planter…

Alors je me suis dit que j’allais écrire un petit programme pour pouvoir obtenir ça :

C’est un petit programme en php, appelez le indexof.php, copiez le sur un espace web free.fr par exemple ou dans EasyPHP, lancez le tel quel, vous aurez l’aide pour le paramétrage.

Je vous laisse faire ? Voici le code :

indexof.php

Usage : indexof.php?url=http://2db.free.fr/images/";
echo "Liste les images d'un dossier ftp sous http.";
exit();
}
$page=str_replace(' ','%20',$page); // remet les pages aux normes http
$st_site= strpos($page,'//',0);
$en_site= strpos ($page,'/',$st_site+2);
$site=substr($page,0,$en_site); // url du site
echo " >>>> $site <<<<
 ";
$disp_page=str_replace('%20',' ',$page);
echo "
$disp_page";
$dossiers="";
$images="";
$lines = file($page); // lit la page web ftp et la place dans un tableau
$ct_dir=0;
foreach ($lines as $line_num => $line) // lecture du tableau ligne à ligne
{
$mline = strtolower($line); // je passe la ligne en minuscule pour simplifier les tests
###
### Récupération du lien href
###
$pos_src = strpos($mline,' $start_url=$pos_quote + 1;
$pos_quote2 = strpos($mline,'"',$start_url); // dernière quote du lien
$end_url=$pos_quote2 - 1;
$len_url=$end_url-$start_url+1;
$point=substr($line,$end_url-3,1);
$url=substr($line,$start_url,$len_url); // récupération de l'url citée image ou dossier
$url=str_replace('','%20',$url);
if ($point==".")
{
###
### Traitement des images
###
$ft=substr($line,$end_url-2,3); // source pas en minuscule au cas où
if ($ft=="jpg" or $ft=="gif" or $ft=="png" or $ft=="jpe")
{
$images .= "
$url"; // nom de l'image
$images .= "
"; // affichage de l'image
}
else
{
$images .= ""; // on affiche rien mais on pourra gérer d'autres ft
}
}
else
{
###
### Traitement des dossiers
###
$ct_dir = $ct_dir + 1; // compteur de dossiers
// Le premier DIR trouvé est le Parent Directory
if ($ct_dir == 1)
{
$display="Parent"; // Il est tout à fait possible de revenir avec le bouton précédant du navigateur
$dossiers .= "
$display"; // Référence sur l'url du site
}
else
{
$point=strpos($mline,'.',$pos_src);
if ($point>0)
{
$dossiers .=""; // cas particulier de ft spéciaux
}
else
{
$dossiers .= "
$url"; // Référence sur l'url de la page
}
}
}
}
}
###
### Affichage final
###
echo "
$dossiers";
echo "
$images";
echo "
Go Top";
?>

Bon surf !

Un peu de php ?
Ce serait sympa de voter
Faite le savoir, partagez !

Commentaire

Un peu de php ? — 2 commentaires

Laisser un commentaire