DIAPORAMA PHP / JS

Signaler
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008
-
cs_davidmnestor
Messages postés
24
Date d'inscription
lundi 11 août 2008
Statut
Membre
Dernière intervention
11 janvier 2011
-
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/32943-diaporama-php-js

cs_davidmnestor
Messages postés
24
Date d'inscription
lundi 11 août 2008
Statut
Membre
Dernière intervention
11 janvier 2011

Bonjour,

Je pensais l'avoir installé correctement et bien non !
totalement novice,

J'ai dézipé et placé le dossier sur mon serveur.

J'ai autorisé en 777 les répertoires "miniatures", "reels" situé dans le répertoire images,
et "buffer" n'éxistant pas ! je l'ai donc créé, et autorisé 777 aussi.
puis j'ai lancé la page "index.php".

Voici la réponse :

Fatal error: Cannot redeclare scandir() in www/diapoplus/fonctions/php/scandir.php on line 27.

en ligne 27 il y a une accolade fermée.

Si l'un de vous peut il m'éclairer ?

Cordfialement
jack0five
Messages postés
4
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
12 août 2008

Salut

Merci pour tes liens.
Ca à l'air très "classieux" tous ces modules.
Faut que je les essaie.
Dommage pour le diaporama présenté ici que je ne parviens vraiment pas à faire fonctionner.

Je vais voir tout ca.
Merci
Arimaze
Messages postés
12
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
4 mars 2009

Je sais pas si tu connais la librairie Mootools sinon je te conseilles d'aller faire un tour ici : http://demos.mootools.net/Effects pour voir un peu comment ça marche .

En combinaison avec Mootools, je te conseille de réaliser le diaporama suivant que tu peux customizer assez facilement. le lien : http://www.digitalia.be/software/slimbox#download.

Tu as tout ce qu'il faut pour que ca marche du premier coup.
Voilà si tu as un problème n'hésite pas.

Amicalement. Arimaze
jack0five
Messages postés
4
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
12 août 2008

pas de souci, je suis partant pour un autre aussi mais pour en revenir à celui-ci meme en l'installant sur un serveur en local, j'ai pas plus de succès et pourtant les images sont bien chargées dans le bon repertoire !!!
Arimaze
Messages postés
12
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
4 mars 2009

Salut,

Pour le moment j'ai pas le temps mais demain, je peux te donner un autre type de diaporama que je trouve bien mieux que celui ci, bien plus jolie.

Donne moi ta réponse.

Bye
jack0five
Messages postés
4
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
12 août 2008

Salut

je viens d'essayer en mettant les fichiers sur un site en ligne.

Les images se chargent bien et le JS semble fctionner mais aucun image ne s'affiche donc pas de diapo?!

Qq'un peut m'expliquer?

Merci
Arimaze
Messages postés
12
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
4 mars 2009

Ah oui j'ai oublié de dire pourquoi changer le nom de la fonction scandir.
C'est une fonction déjà utilisée par php et donc on ne peut pas en créer une du même nom.
Arimaze
Messages postés
12
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
4 mars 2009

Salut,

Un peu tard mais bon si des personnes veulent utiliser ce script comme moi aujourd'hui, c'est bon à prendre
Concernant le Fatal error: Cannot redeclare scandir(), il faut changer le nom de la fonction (ex function ScanDir2($Directory)) dans scandir.php.

Ensuite, dans la page index.php changer la ligne :
var TabImages= new Array(<?php echo ScanDir('images/miniatures/') ; ?>);
par :
var TabImages= new Array(<?php echo ScanDir2('images/miniatures/') ; ?>);

L'erreur du Return vient du fait que la variable n'est pas initialiser, il faut juste mettre en haut du script $Return="";

Voilà la page scandir.php :

<?
function ScanDir2($Directory)
{
$Return="";
$MyDirectory = opendir($Directory);

while($Entry = readdir($MyDirectory))
{

if( !is_dir($Entry) && $Entry != "." && $Entry != "..")
{

if (eregi(".jpg",$Entry))
{
$Return.="""."$Entry".""".",";

}

}

}

closedir($MyDirectory);

$Return=substr($Return, 0, strlen($Return)-1);
return $Return;
}
?>

Voilà en espérant que cela aide quelqu'un.
Par contre j'ai les miniatures qui ne sont pas bien redimensionner.
Je vais résoudre ce problème et essayer d'apporter les améliorations postées dans les messages précédents mais qui n'ont pas étaient écrites.

Bonne journée.
madmaxou91
Messages postés
1
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
8 février 2008

Effectivement j'ai le même problème, il semble que ce soit le $Return qui pose problème, je ne suis pas expert mais je trouve étrange de calculer la longueur d'une chaîne qu'on est en train de définir ( $Return=substr($Return, 0, strlen($Return)-1); )
C'est là que le bas semble blesser :o
fleubix
Messages postés
1
Date d'inscription
vendredi 22 juin 2007
Statut
Membre
Dernière intervention
25 juin 2007

j'ai voulu l'utiliser et j'ai eu un message d'erreur :
" Fatal error: Cannot redeclare scandir() in /www/sites/1/ifrance.com/f/l/fleubix2/site/fonctions/php/scandir.php on line 27 " ... sinon j'ai vu le l'exemple de ce que ça devrait donner et ça a l'air vraiment bien :D
GwedGwed
Messages postés
1
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
16 janvier 2007

En effet excellent code mais j ai un pb d affichage des miniatures sous IE je crois que le pb viens de la fonction diapo.js je crois que IE ne supporte pas l instruction 'background-repeat:no-repeat ' avez vous une idee pour regler ce pb ?
Cordialement
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

non c'est pour créér les miniaturees :), ps le lien d'exemple est désormais : http://bckimg.free.fr/diapoplus/ (par contre j'ai enlever la possiblité de telecharger pour lexemple)
cs_azerty1212
Messages postés
1
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
13 novembre 2005

il a l'air super bien ce diapo, mais j'ai un probleme :
mes images ne sont pas redimmensionnés à la taille de mon écran.
Pourtant il y a l'air d'avoir un truc comme img_resize dans ton script : c'est pas fait pour redimmensionner automatiquement l'image en foncton de la resolution de l'ecran ??

Merci pour ton aide
azerty12@hotmail.com
rrk275
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
peut etre etes vous au courant mais voici un moyen de limiter la taille des fichier a telecharger ...
tres bonne source j'aurais peut etre ajouter une modif de la config en ligne et un mot de passe eventuel (pour qu'elle puisse etre disponible dans les grand nombre de cas)(genre un input texte sur la page d'upload et une verification par if ($_POST['PASS']=="PASSWORD"){..} m'enfin sa ne servirait pas a tout le monde
PS: pour la securité le best c'est de faire un pass random qu'on garde sur une session et qu'on verifie par un hidden mais je vois pas qui voudrait trafiquer un truc comme ca( vu qu'il n'y a pas de mot de passe ...)
Missions_courtes
Messages postés
8
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
13 février 2006

Bonjour,
Je recherche moi aussi un outil faisant un diaporama d'images réduites avec un défilement automatique.
Cordialement.
kangoo75
Messages postés
47
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
28 mai 2008

Encore un bel exemple de synergie, bravo les gars et vive le open source !
massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007

Ok
Et, ca serait bien aussi d'encadrer la miniature en cours. Détail, mais c'est ca qui fera que ton code se détachera de la multitude de sources de diaporama.
A demain
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Pour le défilement automatique, je parlais plutôt du défilement automatique des images tailles réelles ,lorsqu'on clic sur une case à cocher par exemple, pas du défilement des miniatures :D car je trouve que l'ascenseur est bien plus pratique ;)

Pour cela il faut juste utiliser le tableau javascript et la fonction setTimeOut ;)

PS : merci :p
massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007

lol
T'es exigeant !!
Mais j'accepte. J'ai un dossier Projets sur mon bureau, et je n'y place que des projets FINIS, et complets.

Je vais essayer de faire l'affichage progressif, mais je ne suis pas très bon en javascript. Ca me fera l'occasion de m'améliorer.
Pour le défilement automatique, j'hésite. Soit par PHP, soit par javascript, soit par envoi de données en POST, soit par envoie de données en GET, soit par header(location:""); en PHP, soit par meta, soit par javascript, etc...
Pour ca, ce n'est pas la technique qui m'embete, mais le choix, chaque méthode ayant ses avantages et ses inconvénients.
A voir, je vais y réfléchir. Je te dit demain le compte rendu de ma nuit blanche. lol
A+
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

lol désolé j'avais pas vus ton post pour la transparence
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Nikel ! Merci ;) le rendu est super sur FF, moi pour ma part, je vais m'occuper de la gestion des catégories et de l'ajout de commentaires sur les photos ;)
Massacr pourrais tu toccuper de l'affichage progressif du menu et du défilement automatique et de la transparence sous IE ?

PS : tes pas obligé d'accepter ;)
RE PS : pour la transparence je crois que la solution se trouve sur :http://www.domedia.org/oveklykken/css-transparency.php

Merci encore
massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007

Voilà, rajoutes la ligne de code ci dessous dans le fichier style.css après la ligne 38 (après opacity).

filter:alpha(opacity=85);

Cela fera marcher l'effet alpha sur IE.
massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007

Voilà. Je n'ai pas trouvé de failles de sécurité (mais bon, je ne suis pas un pro dans la matière), par contre, j'ai trouvé et modifié unt as de trucs inutiles, (comme ce champ caché qui n'a aucune utilisé), j'ai amélioré l'interface, le javascript, la gestion des erreurs, etc...
Enfin bon, plein de nouveautés, que tu peux voir ici :
http://racine.librastuces.sanspub.org/diapoplus.zip

PS : Pour l'opacité, je travaille avec FireFox, et je ne sais pas si cela marchera avec IE. Mais je crois qu'il y a un filtre pour faire pareil sous IE. A voir.

A+
GiUsTiNo
Messages postés
129
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
30 juin 2012

Sinon y'a pas de problème, tu peux le poster sur phpcs vu que c'est différent d'ici ...
Mais comme je l'ai dit, c'est à toi de voir :)
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Merci Massacr, c'est sympa de m'aider à améliorer mon script ;)
massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007

Ne met pas ton code deux fois.
Je vais le regarder pour la sécurité, et, avec la newsletter, la plupart des utilisateurs de PHP ont vu ta source.
kangoo75
Messages postés
47
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
28 mai 2008

Interface très efficace et code bien organisé ! Félicitation
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

oui c'est vrai, mais ai je le droit de poster deux fois la même source sur code-source?
GiUsTiNo
Messages postés
129
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
30 juin 2012

Oui, mais si tu postes sur php, on pourra sûrement t'aider pour la "sécurité" de l'upload, contre les piratages (bien connus d'ailleurs :p)
Alors, à toi de voir ;)
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

lol merci pour ma copine ;)
J'ai mis ça sur Javascriptfr car l'interface est gérée en Javascript, après pour le PHP, je l'utilise que pour l'Upload, donc mon choix s'est porté plutôt sur ce site ;)
GiUsTiNo
Messages postés
129
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
30 juin 2012

Sinon, plus sérieusement, je pense que tu aurais plutôt du poster ce code sur la partie php et non javascript (car tu ne nies pas qu'il y a plus de php que de js :p)
Bonne continuation
GiUsTiNo
Messages postés
129
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
30 juin 2012

Oui, je t'aurais mis 9/10 pour la qualité du code et ce qu'il produit, mais avec la fille ca donne un bon pti 10/10 ^^
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

J'ai pris toutes vos remarques en compte, je ferais une mise à jour très bientôt ;)
D'autres remarques ?
massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007

Très bonne source !!
Je ne suis pas très bon en javascript (moi, c'est le PHP), mais si tu arrivais à faire un truc, ton code en serait beaucoup mieux. Pourtant c'est un détail, et peut etre difficile : L'affichage du bandeau des miniatures progressivement, soit en fading, soit, mieux, en se déroulant à partir du haut.
Voilà, a+
cs_pdl
Messages postés
134
Date d'inscription
mardi 20 novembre 2001
Statut
Membre
Dernière intervention
16 juin 2008

Très bien comme source. Je trouve aussi originale l'idée de cacher les miniatures pour montrer l'image. Comme le dis RTTB, le défilemenet automatique serait un petit plus.

Si non, quand tu charges une image, tu devrais soit mettre un lien pour revenir à la page principale, ou alors une redirection au bout de quelques secondes. Autres trucs que tu pourrais essayer de prévoir, c'est de mettre les photos dans différents répertoires, comme si on les classais par catégories. Je pense que c'est pas trop compliqué, il faudrait changer dans index.php, le répertoire de départ (le passé en POST ou GET).

Merci pour cette source.
cs_MATHIS49
Messages postés
370
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Merci ! , le défilement automatique à vrai dire je n'y ai même pas pensé car je l'utilise jamais !
Mais pourquoi pas , je le ferais dans une prochaine mise à jour ;)
rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008

Sympa le diaporama, il manque quand même le défilement automatique (un coup de flemme ???)
Sinon, super l'idée de cacher le haut et de le faire apparaître à la souris.