Lire certains fichiers d'un dossier

stan47
Invité n'ayant pas de compte PHPfrance

18 mai 2012, 10:32

Bonjour à tous,
Voila je arrive actuellement à lire entièrement les fichiers d'un dossier grâce à readdir.
Seulement je bute maintenant sur un problème. Je souhaiterai en effet lire les fichiers qui sont dans le dossier de la ligne par exemple 10 à 15 et je ne comprends pas comment lire en partie un dossier en suivant ces paramètres.
Voici mon code actuel qui permet de lire entièrement le repertoire :
$image_list = array();
$fichier = "images/photos/".$dossier;
$dire = opendir ($fichier);
  while ($fichier2 = readdir($dire)) {	  
  	  if($fichier2!="." && $fichier2!=".."){
$image_list[$r] = $fichier2;
echo "<li><a href='";
		echo $fichier;
		echo "/";
		echo $fichier2;
		echo "' rel='prettyPhoto[gallery2]' title=";
		
			$lien2 = preg_replace("/_/"," ",$dossier);
			$lien3 = preg_replace("/-/","'",$lien2);

		echo $lien3;
		echo "><img border='0' src=thumb2.php?file=";
		echo $fichier."/".$fichier2;
		echo "></a></li><li>&nbsp;</li>";	
 }  
  	  }
    }
    closedir($dire);

Je vous remercie d'avance de votre aide !!

ViPHP
xTG
ViPHP | 7331 Messages

18 mai 2012, 10:57

Quels types de fichier ? Des fichiers textes dont tu voudrais lire les lignes 10 à 15 ?
Tu peux utiliser la fonction file() dans ce cas, elle te retourne un tableau dont chaque index correspond à une ligne de ton fichier.
Donc il suffit de récupérer $tab[9] à $tab[14] (en prenant $tab comme retour de la fonction).

stan47
Invité n'ayant pas de compte PHPfrance

18 mai 2012, 11:26

Merci de ta réponse rapide!
En fait il s'agit juste de recueillir les noms des fichiers d'un dossier. Je met ensuite les noms recueillis dans des <img> . Le principe étant de créer une galerie photo avec plusieurs pages. Donc la page 1 recueillerai les 10 premiers noms de fichiers du dossier, la page 2 les 10 suivants etc...

ViPHP
xTG
ViPHP | 7331 Messages

18 mai 2012, 16:40

Ah d'accord, bah il te faut juste une variable référence pour indiquer sur quelle page on se trouve, et le nombre à afficher par page.
Ensuite tu passes $ref * $nb_par_page sans afficher puis tu affiches $nb_par_page et enfin tu n'affiches pas le reste.
Si tu as des doutes et ne souhaites pas détruire ton actuel code tu peux juste y ajouter une ligne pour stocker le chemin du fichier courant dans un tableau.
Et ensuite tu fait ton script d'affichage en traitant ce tableau.