UNE IMAGE AU HASARD PARMI TOUTES LES IMAGES D'UN RÉPERTOIRES PHP/JAVASCRIPT

Signaler
Messages postés
95
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
1 décembre 2007
-
Messages postés
4
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
17 avril 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32627-une-image-au-hasard-parmi-toutes-les-images-d-un-repertoires-php-javascript

Messages postés
4
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
17 avril 2010

Je suis vraiment pas doué car aucune image ne s'affiche chez moi... j'ai inséré le code entier à l'endroit ou l'aperçut doit être, j'ai changé le dossier racine.
Le script ne m'affiche aucune erreur, il y a juste rien qui se passe xD

L'erreur vient d'ou ? j'ai re re re regardé aux chemins de mes images et c'est bon théoriquement.
Messages postés
47
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
24 mars 2007

Je ne comprends pas l'utilisation du javascript.
Moi j'utilise un script du genre pour faire alterner des images, il est aussi simple que ça :

$y=0 ;
$handle = dir("./images/headers/");
while ($file = $handle->read()) {
if (($file != ".") && ($file != "..") && (strpos($file, ".jpg")!=false)) {
$y = $y+1 ;
$imag[$y] = $file ;
}
}
$handle->close();
$numb = rand(1,$y) ;

Et l'appel de l'url de l'image se fait de cette manière :
'./images/headers/'.$imag[$numb]
Ce n'est pas le script parfait, loin de là, incrémentations douteuses, vérifications mineures, mais il a le mérite d'être un peu moins compliqué ... Un peu.
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

# <?php
#
# $nb_T = 0;
#
# $opdir = opendir("./img/");
# while ($T = readdir($opdir))
# {
# if (!is_dir($T)) $nb_T++;
# }
#
# closedir($opdir);
#
#
# ?>

$nb_T te donne le nombre de fichier qui ne sont pas des repertoires, et tes fichiers qui ne sont pas des images seront pris en compte ( genre .htaccess, index.html, titi.php, ...)

ta verif est fausse au niveau du test sur les extensions:
if($extention 'gif' or $extention 'jpg' or $extention = 'bmp' or $extention = 'png')
or ca marcherai mieux avec des tu ouvres 2 fois ton dossier ( avec 2 parcours du contenu> mauvais algorithme) alors que tu aurais pu le faire qu'une fois ( en plus tu utilises 2 méthodes de parcours, ca au moins le mérite de montrer que ca existe)


Pour stroubinou, ce code est inutile, il suffit de rechercher les extensions qu'ils l'interessent et de faire ces opérations.

# if($entryName != '.')
# {
# if($entryName != '..')
# {
# if($entryName != 'thumbs.db')
# {
# if (!is_dir($entryName))
# {

Je ne parlerai pas ici du probleme de l'utilisation de l'extension ( car ce n'est pas de l'upload, mais le coeur y est , oups, c'est fait ;) )
Messages postés
95
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
1 décembre 2007

Salut!

Pourquoi
# if($entryName != '.')
# {
# if($entryName != '..')
# {
# if($entryName != 'thumbs.db')
# {
# if (!is_dir($entryName))
# {

Ca ne serait pas plus simple d'utiliser une seule condition, avec des and ?
Autre chose, ca n'aurait pas été plus simple de tout faire en php? parce que il y a quand meme des utilisateurs qui n'autorisent pas le javascript.

+++