Trouver partie d'un nom dans un répertoire

Fermé
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 - 9 juin 2010 à 09:51
Bonjour à tous,

Dans le cadre de mon stage, je fais un programme de recherche sur le numéro de série. L'utilisateur entre le numéro de série et on cherche celui-ci dans les noms des documents PDF afin d'afficher le document PDF correspondant.

Actuellement je n'arrive pas à chercher une partie d'un nom de fichier dans un répertoire et un sous-répertoire.

Voila mon script actuel et je sais qu'il contient des erreurs :
<body>
<form name="form2" method="POST" action="visu.php" target="_blank">
<h3>Recherche</h3>
<?php
$NumSerie  = $_POST['NumSerie'];
define('FICHIER', 'pdf.txt'); //défini le fichier pdf.txt comme une constante car on utilise que ce fichier là pour la recherche
@ $fp = fopen(FICHIER, 'r') or die('Ouverture en lecture de "' . FICHIER . '" impossible !'); //@ permet de cacher le message d'erreur
function ScanDirectory($Directory){

  $MyDirectory = opendir($Directory) or die('Erreur');
	while($Entry = @readdir($MyDirectory)) {
		if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') {
                         echo '<ul>'.$Directory;
			ScanDirectory($Directory.'/'.$Entry);
                        echo '</ul>';
		$ligne = fgets($Entry);
	 $posS = strrpos($ligne, "s_"); // trouve la position de s_
	 $posAn = strrpos($ligne, "_an"); // trouve la position de _an
	 $longChaine = $posAn - $posS; // différence entre $posAn et $posS
	 $champ = substr($ligne,$posS, $longChaine); // on récupère le champ entre $posS et $longChaine
	 
		if (strstr($champ,$NumSerie)) { // on regarde si le champ contient le numéro de série
		echo "<input type=\"radio\" name=\"Choix\" value=\"".$ligne."\">"; //on affiche un bouton radio à chaque résultat
		echo $ligne."<br>"; // on affiche les lignes correspondant à la recherche
		}
	}
	else {		
                }
	}
  closedir($MyDirectory);
}

ScanDirectory('.');

echo $NumSerie; // Affiche le numéro de série qui a été saisis
echo "<br>";

?>

   <td>
        <input type="submit" value="Envoi" name="Envoi"/>
   </td>
 </form>  
</body>


Merci d'avance pour votre aide car je ne vois pas du tout comment faire.

Slylia.