2010-08-28 36 views
3

J'ai cherché sur ce site et j'ai trouvé un extrait de code très utile que j'ai pu utiliser.php glob() ne retourne pas tous les fichiers

$counter = 0; 
    foreach (glob("images/gallery/photo_gallery/resized/*.jpg") as $pathToThumb) 
    { 
     $filename = basename($pathToThumb); 
     $pathToLarge = 'images/gallery/photo_gallery/' . $filename; 
     echo ('<a href="'.$pathToLarge.'"><img src="'.$pathToThumb.'" /></a>'); 
     $counter++; 
    } 

Mais pour une raison quelconque, cela ne renverra que les 30 premières images de mon répertoire. (il y en a 81) Quelqu'un peut-il penser à ce qui se passe?

Merci.

+0

nous montrent le résultat et le résultat que vous vous attendez à – stillstanding

+1

Pouvez-vous montrer quelques noms de fichiers par exemple? Êtes-vous 10000% sûr qu'ils se terminent par 'jpg' et pas, par exemple,' jpeg'? Êtes-vous sûr que ce n'est pas un problème de droits? Aussi (pas pertinent pour le problème je pense), dans le lien web que vous créez, il vous manque la partie '/ resized'. –

+0

Que fait cette variable $ counter? Et oui, il pourrait y avoir des noms sensibles à la casse. Pourquoi ne pas simplement lister tous les fichiers, "" images/gallery/photo_gallery/resized/* "'? N'y aurait-il pas de fichiers, autres que des vignettes? –

Répondre

1

Comme je l'ai dit plus haut

$path = 'images/gallery/photo_gallery/resized/*'; 

serait suffisant. ou, si vous veut obstinément que jpg seulement,

$path = 'images/gallery/photo_gallery/resized/*.[Jj][Pg][Gg]'; 

comme manuel suggère

+0

$ path = 'images/galerie/photo_gallery/redimensionnée/*. [Jj] [Pg] [Gg]'; cela fait l'affaire pour moi. Merci :) – shane

1

Merci à tous pour votre contribution.

est ici la réponse - extensions de fichiers sont sensibles à la casse quand il est utilisé dans glob() (quelque chose que je non au courant)

30 de mes fichiers se terminent par .jpg tandis que les fichiers restants ont été automatiquement rebaptisées par un programme de redimensionnement à .JPG

Cela signifie que glob("imagesPath/*.jpg") n'a renvoyé que les correspondances en minuscules.

Une autre leçon apprise :)

Espérons que cette réponse peut aider quelqu'un d'autre aussi. :)