Listage (avancé) de fichiers d'un dossier
10 messages
• Page 1 sur 1
- CrazyCow007
- WRInaute discret

- Messages: 182
- Inscription: 28 Déc 2003
Listage (avancé) de fichiers d'un dossier
Bonjour à tous !
Voilà l'objectif : J'ai un album de fonds d'écran qui répertorie les fonds de la façon suivante :
La miniature correspondante est :
Ce que j'aimerais c'est tirer au hasard une miniature (qui sont de format 166*125 pixels) et l'afficher.
Pour cela il faudrait lister toutes les URLs des miniatures et faire un tirage au sort (je pense même que le mieux est de générer une fois pour toute la liste des miniatures ça surchargerait beaucoup trop de le faire à chaque fois que la page est chargée).
Pour la 2e partie je sais faire.
Mais je n'arrive pas à générer la liste des miniatures uniquement (leur URL complète)
(le faire manuellement serait beaucoup trop long)
Si quelqu'un pouvait au moins me mettre sur la voie...
Merci beaucoup d'avance ! (ça me rendrait énormément service
)
Voilà l'objectif : J'ai un album de fonds d'écran qui répertorie les fonds de la façon suivante :
- Code: Tout sélectionner
http://www.monsite.com/fonds/rubrique1/nom.jpg
La miniature correspondante est :
- Code: Tout sélectionner
http://www.monsite.com/fonds/rubrique1/thumbs/nom_m.jpg
Ce que j'aimerais c'est tirer au hasard une miniature (qui sont de format 166*125 pixels) et l'afficher.
Pour cela il faudrait lister toutes les URLs des miniatures et faire un tirage au sort (je pense même que le mieux est de générer une fois pour toute la liste des miniatures ça surchargerait beaucoup trop de le faire à chaque fois que la page est chargée).
Pour la 2e partie je sais faire.
Mais je n'arrive pas à générer la liste des miniatures uniquement (leur URL complète)
(le faire manuellement serait beaucoup trop long)
Si quelqu'un pouvait au moins me mettre sur la voie...
Merci beaucoup d'avance ! (ça me rendrait énormément service
-

mowmow - WRInaute impliqué

- Messages: 975
- Inscription: 3 Nov 2004
- Code: Tout sélectionner
<?php
$miniatures = glob('./fonds/rubrique1/thumbs/*.jpg'); // toutes les images en .jpg, tu peux enlever le .jpg si tu as aussi des .gif ou autres
?>
et après :
- Code: Tout sélectionner
<?php
echo $miniatures[mt_rand(0, count($miniatures)-1)];
?>
Tu auras alors le chemin jusqu'à ton image.
Essaies :
- Code: Tout sélectionner
<?php
echo '<pre>';
print_r($miniatures);
echo '</pre>';
Pour voir le chemin de toutes tes miniatures
- CrazyCow007
- WRInaute discret

- Messages: 182
- Inscription: 28 Déc 2003
Merci beaucoup
Je vais tester tout ça
Je vais tester tout ça
- CrazyCow007
- WRInaute discret

- Messages: 182
- Inscription: 28 Déc 2003
Après quelques modifications ça marche !
http://www.jamesbond-fr.com/fonds/liste.php
Merci beaucoup pour ton aide mowmow !
http://www.jamesbond-fr.com/fonds/liste.php
Merci beaucoup pour ton aide mowmow !
- CrazyCow007
- WRInaute discret

- Messages: 182
- Inscription: 28 Déc 2003
La page est chargée entre 0.0504 et 0.1 seconde. Est-ce que ça représente beaucoup pour le serveur ? Est-ce que je laisse faire la liste à chaque fois ou je le met à jour à chaque nouveau fond ?
- CrazyCow007
- WRInaute discret

- Messages: 182
- Inscription: 28 Déc 2003
Pour l'améliorer le mieux serait que l'image est un lien vers la page du fond
La page du fond présente cette URL :
En soit ça ne pose pas de problème particulier puisque qu'il suffirait de mettre la variable $miniatures tiré au sort après img_name=.
Mais le problème c'est qu'il faudrait que la variable soit la même entre le moment où l'on génère le lien et où l'on génère la miniature correspondante.
Sinon ça calcule 2 adresses au hasard et la miniature ne renverrais (presque) jamais à la page du fond correspondant.
Donc comment est-ce qu'on peut garder la même variable en ne la tirant au sort qu'une seule fois ?
La page du fond présente cette URL :
- Code: Tout sélectionner
http://www.jamesbond-fr.com/fonds/window.php?img_name=Dossier/image.jpg
En soit ça ne pose pas de problème particulier puisque qu'il suffirait de mettre la variable $miniatures tiré au sort après img_name=.
Mais le problème c'est qu'il faudrait que la variable soit la même entre le moment où l'on génère le lien et où l'on génère la miniature correspondante.
Sinon ça calcule 2 adresses au hasard et la miniature ne renverrais (presque) jamais à la page du fond correspondant.
Donc comment est-ce qu'on peut garder la même variable en ne la tirant au sort qu'une seule fois ?
-

mowmow - WRInaute impliqué

- Messages: 975
- Inscription: 3 Nov 2004
- Code: Tout sélectionner
<?php
$url_image = $miniatures[mt_rand(0, count($miniatures)-1)];
?>
Tu as donc l'url de l'image dans $url_image, a toi de faire ce dont tu as envie avec
- CrazyCow007
- WRInaute discret

- Messages: 182
- Inscription: 28 Déc 2003
T'es sûr que ça va pas retirer au sort à chaque fois que j'appelle la variable ?? (j'ai pas encore testé mais j'avais eu ça avec un bout de code il y a quelques semaines qui m'a bien pris la tête à cause de ça)
- CrazyCow007
- WRInaute discret

- Messages: 182
- Inscription: 28 Déc 2003
Ah non ça marche
Merci beaucoup ! ^^
Merci beaucoup ! ^^
10 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [Résolu] Empêcher le listage du dossier
- Listage partiel des fichiers par mon client FTP
- Quels fichiers dans le dossier Public_html ?
- ajouter des fichiers à un dossier php
- PHP : nombre de fichiers dans un dossier
- Download fichiers d'un dossier impossible à ouvrir
- Dossier virtuel et chemin d'accès aux fichiers
- lister les fichiers d'un dossier en php
- url rewriting : redirection 301 de fichiers vers new dossier
- dossier ou dossier/ ou dossier/index.html
- Yahoo Audio Search
- Tous les services de Google expliqués en 31 pages
- Contraintes d'emplacement du Sitemap
- Google Health : votre dossier médical géré par Google...
- Parts de marché des moteurs aux USA (Janvier 2007)
- Chercher des fichiers KML dans Google Earth
- Parts de marché des moteurs aux USA (Avril 2007)
- Google IPO : une entrée en bourse originale
Consultez la description détaillée des produits ou services de Google suivants : Google Health
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
