|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
Bonjour,
Je souhaite compter le nombre de fichiers *.jpg dans un dossier, et les lister. Pour cela, j'ai fait un mignon petit script Code :
Si je change le script pour trouver ces 2 fichiers, voici ce que je récolte : Citation:
Merci ! |
|||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Bonsoir,
Il faut faire un test pour exclure ces deux répertoires et c'est obligatoire, bein que je pense que normalement si tu ne prends que l'extension tu ne devrais pas avoir ce problème. Peut-être faudrait-il vérifier ta fonction. Ensuite, je ne sias pas si cela est important pour toi, mais dans ce script tu ne fait que vérifier l'extension du fichier. En php , il existe une fonction permettant d'avoir le type MIME du fichier et donc d'être sur qu'il s'agit d'une image JPG. il s'agit de la fonction mime_content_type Par contre je ne comprends pas pourquoi tu fais un count($file), au lieu de faire simplement $ext++ Bonne soirée
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
|
|
00
|
|
|
#3 | |
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
Bonsoir,
Et merci de la réponse rapide ! La fonction mime_content_type semble être la solution... Je vais essayer tout de suite ! Citation:
Si c'est bien là la réponse à mon souci, je mettrai résolu dès que j'aurai terminé le test ! Merci et bonne soirée ! Gamin |
|
|
|
00
|
|
|
#4 | |
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
Désolé mais j'ai une
Citation:
Faut-il configurer le php.ini pour cette fonction? |
|
|
|
00
|
|
|
#5 | |||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 773 ![]() |
Je sens que je vais poser une question bête mais... je ne comprends pas comment ce code peut donner cette sortie. Même si le recours à count() est frauduleux, le test sur l'extension DOIT éliminer les fichiers ., .. et thumbs.db.
Je viens de tester chez moi avec une petite modif (je lis un tableau et non pas un répertoire) : Code :
Citation:
|
|||
|
|
00
|
|
|
#6 | |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 773 ![]() |
Citation:
NB : la doc PHP conseille d'utiliser fileinfo à la place. |
|
|
|
00
|
|
|
#7 | |
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
Bonjour,
J'ai bien activé l'extension, mais j'ai encore une erreur... Est-ce que ça peut être dû à un fichier endommagé? Voici l'erreur : Citation:
Merci |
|
|
|
00
|
|
|
#8 | |
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
REU !
En fait, j'utilise ce script pour faire un diaporama automatique... Lorsque se lance mon diaporama, malgré le filtre JPG sur l'extension des fichiers, la page affiche un cadre d'image absente... Dans les propriétés de cette image, voici ce que j'ai : Citation:
Par exemple, l'image suivante a pour propriétés : Donc tout porte à croire qu'il s'agit des "." et ".." des dossiers courant et parent ! Mais pourquoi !!!!???... Est-ce que ça éclaire quelqu'un ? Parce que moi, là...
|
|
|
|
00
|
|
|
#9 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 773 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#10 | ||
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Personnellement, j'aime bien les regexp :
Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 773 ![]() |
Oui, je trouve ça aussi plus propre (et plus puissant).
Ou pourrait ajouter qu'un contrôle avec is_dir() serait le bienvenu (et résoudrait le problème Par contre, ça ne répond pas à la question sur le pourquoi du code qui ne marche pas... (ni à la mienne d'ailleurs puisque chez moi... ça marche... |
|
|
00
|
|
|
#12 |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Il me semblait que la réponse était claire, mais je me propose de préciser :
dans tout listing de répertoire, tu va inclure les deux répertoires système . = répertoire courant .. = répertoire parent Ce comptage n'est donc pas pas du tout fantaisiste, il avait oublié ces deux répertoires cachés. A noter qu'avec les regexp, ils ne sont pas pris en compte car n'entrant pas dans le motif de recherche. C'est mieux ? |
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 773 ![]() |
Je me suis mal fait comprendre. Ce qui m'échappe, c'est pourquoi le test sur les extensions cité initialement ne marche pas, vu... qu'il marche chez moi...
Pour les regex, pas de problème, c'est clair. |
|
|
00
|
|
|
#14 |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Très honnêtement, je n'utilise pas mime_magic.
Le travail sur extensions est aussi simple et plus portable puisque ne nécessitant aucune installation ou configuration supplémentaire. Et ça ne fait pas de mal de classer proprement ses fichiers avec des extensions correctes. AMHA, bien sûr. |
|
|
00
|
|
|
#15 | ||||
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
Salut,
Merci à vous deux pour toutes ces précisions, cependant le résultat ne change pas... J'ai pourtant mis en place les deux solutions que vous m'avez données, sans succès... Code :
Je trouve qu'il y a un truc bizarre... Ce script génère le texte d'un Javascript qui me permet de faire tourner les photos... Dans le script final, je ne trouve pas de fichiers "." ou ".." lorsque je consulte la source ... Code :
Une idée? |
||||
|
|
00
|
|
|
#16 | ||
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
Autre fait troublant, lorsque je copie la soit-disante "image invisible" de mon diaporama, et que je la colle dans un logiciel de bureautique, cela affiche cela :
Code :
Donc le navigateur interprète le code comme une image... Que faire?!
|
||
|
|
00
|
|
|
#17 | ||
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Salut,
En fait, je ne vois plus où est le problème. Visiblement, tu récupères bien uniquement les images. C'est ton comptage qui est faux ? --- edit --- N'y aurait-il pas une coquille dans le compteur ? Code :
|
||
|
|
00
|
|
|
#18 |
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 572 ![]() |
Question :
Comment appelle-t-on un mec qui sollicite l'attention de plusieurs personnes pour un problème dont le solution est devant ses yeux? Réponse : Un C'était juste ça ! Cette saloperie de compteur pas dans le bloc while, et pas dans le bloc if. En tout cas, merci pour les astuces avec les regex, je m'en servirais dès que possible ! Merci encore ! Gamin |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com