Page 1 sur 1
Recherche nom de repertoire
Posté : 02 oct. 2009, 11:11
par Imer2008
Bonjour,
J'ai un dossier sur un serveur qui contient plusieurs répertoires écris de cette façon : "lot 1", "lot 2", "lot 3", etc. jusqu'à "lot 108". Ces dossiers contiennent uniquement des fichiers .gif.
Je souhaiterais faire une recherche dans une page php qui fonctionne de cette façon:
Recherche numéro du lot avec un champ texte.
Lorsqu'on valide, ca ouvre une frame dans la page qui listerait le contenu du dossier "lot" demandé.
Quelqu'un aurait connaissance d'un code qui pourrait s'appliquer à ma demande ?
D'avance merci de votre aide !
Cordialement,
Re: Recherche nom de repertoire
Posté : 02 oct. 2009, 11:51
par Victor BRITO
Pour ma part, je ne connais pas de distributeur automatique de code.

En revanche, je peux te donner une piste : regarde du côté de la fonction
scandir ().
Re: Recherche nom de repertoire
Posté : 02 oct. 2009, 11:56
par Imer2008
Bonjour,
Merci de ta réponse. Il me semble que la fonction scandir() fonctionne avec PHP5. Or l'intranet qui est développé dans ma société en en PHP 4.
Re: Recherche nom de repertoire
Posté : 02 oct. 2009, 12:02
par Victor BRITO
Il me semble que la fonction scandir() fonctionne avec PHP5. Or l'intranet qui est développé dans ma société en en PHP 4.
En effet, scandir () n'est disponible qu'à partir de PHP 5. Es-tu sûr qu'il n'y a aucune possibilité d'activer PHP 5 sur le serveur hébergeant ton application Intranet (de la même manière que certains hébergeurs demandent d'ajouter une ou deux lignes à un .htaccess pour activer PHP 5) ? Pour mémoire, le développement de PHP 4 est complètement arrêté depuis le 8 août 2008 : il serait donc grand temps de migrer vers PHP 5.
Si, cependant, tu es contraint de rester en PHP 4, tu as le triplet
opendir (),
readdir () et
closedir ().
Re: Recherche nom de repertoire
Posté : 02 oct. 2009, 13:26
par Invité
En recherchant dans les pages php de l'intranet, j'ai une fonction qui permet d'ouvrir et de lister le contenu de dossier avec les fonctions opendir() readdir() et closedir().
Cependant, ce que moi je recherche à faire, c'est une fonction de recherche d'un numéro afin d'ouvrir dans une frame le dossier correspondant.
Exemple quelqu'un recherche le lot 28, il tape 28, valide et ca lui ouvre le contenu du répertoire "lot 28".
Re: Recherche nom de repertoire
Posté : 05 oct. 2009, 14:33
par Imer2008
Bonjour,
Je me permets de revenir à la charge...
A ce jour, je réussis à faire afficher le contenu de chaque dossier dans la page. Cependant je souhaiterais aller plus loin...
1- Lorsque l'utilisateur tape 0 ou un nombre supérieur à 108 (ce qui correspond au dernier lot), je souhaiterais qu'il ait un message qui lui dise que le lot n'existe pas.
2- Il y a un très grand nombre de fichiers (en général plus de 200), ce qui fait que ma page s'étire vraiment en longueur. Y aurait-il une possibilité d'afficher sous forme de tableau les fichiers (de 1 à 10, puis de 11 à 20, etc.)
D'avance merci à ceux qui vondront bien éclairer ma lanterne.
Voici le code utilisé:
<FORM Method="POST" Action="<?php echo $PHP_SELF; ?>">
Rechercher n° du lot : <INPUT type="text" size="3" name="lot">
<INPUT type="submit" value="Envoyer">
</FORM>
<?php
//test des déclarations de variables
if (isset ($_POST['lot']))
{
//Affichage des résultats
echo '<b>Contenu du lot n° '.$_POST['lot'].'</b><br />';
$r= opendir('\\\C51025088\h$\dcr\lot '.$_POST['lot']);//répertoire cherché
echo ("<br />Liste des fichiers dans ce répertoire :<br /><br />");
//boucle pour parcourir le repertoire
while (($file = readdir ($r)) !== false )
{
// ne pas afficher les . et ..
if ($file !== '.' && $file !== '..')
{
$path =$r.'\\'.$file; // chemin des fichiers...
{
// on vire l'extension .gif
$file = basename($path, ".gif");
// on affiche les fichiers
echo "<a href=\"\\\C51025088\h$\dcr\lot ".$_POST['lot']."\\".$file.".gif\">$file</a><br>";
}
}
}
closedir($r);
}
?>
Re: Recherche nom de repertoire
Posté : 05 oct. 2009, 14:42
par Victor BRITO
Regarde du côté de la
fonction is_dir () et de la fonction
file_exists ().
Re: Recherche nom de repertoire
Posté : 05 oct. 2009, 15:18
par Imer2008
Nickel, ca marche impec.
Bon maintenant, il faut que je trouve un moyen d'afficher les fichiers par paquets de 10 et ca sera super.