PHP miniature image d'un répertoire

Résolu/Fermé
lud1979 Messages postés 51 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 27 juillet 2013 - 12 févr. 2008 à 11:43
 niounter - 10 mai 2010 à 14:37
Bonjour,

Je cherche à afficher les miniatures de photos d'un répertoire, j'ai fais ça :

while($fichier=readdir($dossier))
{
$berk=array('.', '..');
if(!in_array($fichier,$berk))
{
$lien=$dir.'/'.$fichier;
if ((file_exists($lien)) and ($lien != 'Thumb.db'))
{
print '<img src="'.$lien.'" alt="" style="" HEIGHT=50 /><br />';
}
}
}

Ca marche bien mais le problème c'est que lorsque le dossier contient beaucoup d'images, les miniatures sont très longues à être affichées.

SI vous aviez une solution plus efficace merci de m'en informer.

Bonne après midi à tous Ludwig
A voir également:

4 réponses

Rien à voir avec le format,
c'est juste que même si tu affiches une miniature,
tu es obligé de DL toute la photo, qui sera alors redimensionné lors de l'affichage de ta page HTML.
Si tes photos font en moyenne 200Ko, une page de 50 aperçu sera vite très lourde, de l'ordre de 10Mo, expliquant ton ralentissement.

Il faudrait que lorsque tu enregistres la photo sur ton serveur,
il se crée en même temps une miniature de cette dernière, via un script automatique (ca se trouve ou se fait assez facilement), miniature de la taille souhaité, et qui réduira énormément le poids de la photo.

Essai de l'appeler par un nom similaire,
ex :
photo01.jpg & photo01_mini.jpg pour la miniature

ou dans deux dossiers spécifiques,
ex :
images/ & images/taille_mini/, avec le même nom de photo pour chaque couple.

Comme ça lors du clique sur la miniature, tu rediriges par exemple sur la photo taille réel, en enlevant soit le nom du répertoire (../), soit le préfixe/suffixe rajouté à ta photo (avec str() par exemple).

Le plus simple est à mon sens de faire un dossier pour tes miniatures, et non rajouter un préfixe/suffixe.


Si besoin de plus de détail, n'hésite pas : niounter?hotmail?com
(je suis conscient que le post date, mais on sait jamais, cela pourra servir à d'autres)
6
PeJo Messages postés 1374 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 17 juin 2008 176
12 févr. 2008 à 12:03
Bonjour,

Quel format utilises-tu pour stocker tes images (jpg, bmp ...)?
Quel est la taille originale des images que tu affiches??
0
lud1979 Messages postés 51 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 27 juillet 2013 7
12 févr. 2008 à 14:16
Mes images sont en .jpg, leurs tailles varient de 50K à 400K
0
PeJo Messages postés 1374 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 17 juin 2008 176
12 févr. 2008 à 14:40
Dans un premier temps, je pense qu'il est préférable, pour les aperçues, de les mettrent au format bitmap. Si tu veux garder une certaines qualités, tu ne fais que des bmp pour tes aperçus.

Ensuite, quand je parlais de taille, je ne parlais pas de poids mais de dimensions. Il vaut mieux réduire la taille à 50x50 pour l'aperçu avec un logiciel de retouche, plutôt que de le réduire avec ton code. Tu veras que le poids du image de 50x50 afficher en 50x50 sur ton navigateur n'est pas le même que celui d'une image en 800x600 réduite et affiché à 50.
0
lud1979 Messages postés 51 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 27 juillet 2013 7
12 févr. 2008 à 17:40
En fait mon objectif était de faire des miniatures den php d'apres des fichiers existant sans avoir de nouveaux fichiers miniatures à créer
0
PeJo Messages postés 1374 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 17 juin 2008 176
13 févr. 2008 à 08:43
Alors tu n'as pas trop le choix, essayes aves des images en bitmap. Tu va perdre en qualité, mais tu dois gagner en poinds et donc en temps pour le chargement de ta page.
0