Page 1 sur 1

Modification script php

Posté : 01 mai 2014, 14:15
par ideal232
bonjour
j'ai un script php qui affiche une galerie d'images en .jpg.
je souhaiterai affiché également des images en .gif , ou.png , ces images sont dans un répertoire nommé:collection_privee de la façon suivante: 1.jpg 2.gif 3.jpg etc , celui-ci étant dans le répertoire: tableaux
Voici le code original php:
<div class="container"> 		
		<ul class="gallery">
			<?php
				$captions = array(
					/*01*/ "Tableau 1-80x80 cm ",
					/*02*/ "Tableau 2-80x80 cm",
					/*03*/ "Tableau 3-80x80 cm",
					/*04*/ "Tableau 4-80x80 cm",				
					
				); 

				for($n = 1; $n <= count($captions); $n++):
			?>

			<li>
				<a href="#img<?php echo $n; ?>"><img src="tableaux/galerie/<?php echo $n; ?>.jpg" alt="<?php echo $captions[$n-1]; ?> Thumb"></a>
				<article id="img<?php echo $n; ?>">
					<figure>
						<a href="#img<?php if($n == count($captions)) { echo 1; } else { echo $n+1; } ?>"><img src="tableaux/galerie/<?php echo $n; ?>.jpg" alt="<?php echo $captions[$n-1]; ?>"></a>
					    <figcaption><?php echo $captions[$n-1]; ?></figcaption>
					</figure>
					<nav>
						<a class="close" href="#close">Close</a>
						<a class="arrow prev" href="#img<?php if($n == 1) { echo count($captions); } else { echo $n-1; } ?>">Previous</a>
						<a class="arrow next" href="#img<?php if($n == count($captions)) { echo 1; } else { echo $n+1; } ?>">Next</a>
					</nav>
                    
				</article>
			</li>
             
            <?php endfor; ?>
            
</ul> 
</div>
le code php accepte que les .jpg .Je ne suis pas encore très doué en php, j'ai essayé cette la modification suivante:
<div class="container"> 		
		<ul class="gallery">
			<?php
				$captions = array(
					/*01*/ "Tableau 18-40x80 cm ",
					/*02*/ "Tableau 23-100x70 cm",
					
				); 

				for($n = 1; $n <= count($captions); $n++):
			?>

			<li>
				<a href="#img<?php echo $n; ?>"><img src="tableaux/collection_privee/<?php echo $n; ?>.jpg" alt="<?php echo $captions[$n-1]; ?> Thumb"></a>
				<article id="img<?php echo $n; ?>">
					<figure>
                 <a href="#img<?php if($n == count($captions)) { echo 1; } else { echo $n+1; } ?>"><img src="tableaux/collection_privee/<?php
if (file_exists(dirname(__FILE__).'/tableaux/collection_privee/'.$n.'.jpg'))
{
 echo $n.'.jpg'; 
}
else
{
 echo $n.'.gif'; 
}

?>" alt="<?php echo $captions[$n-1]; ?>"></a>
						
                        
					    <figcaption><?php echo $captions[$n-1]; ?></figcaption>
					</figure>
					<nav>
						<a class="close" href="#close">Close</a>
						<a class="arrow prev" href="#img<?php if($n == 1) { echo count($captions); } else { echo $n-1; } ?>">Previous</a>
						<a class="arrow next" href="#img<?php if($n == count($captions)) { echo 1; } else { echo $n+1; } ?>">Next</a>
					</nav>
				</article>
			</li>

			<?php endfor; ?>

	    </ul>

	</div>
mais les images .gif ne s'affichent toujours pas. pourriez-vous m'aider. Merci.

Re: Modification script php

Posté : 01 mai 2014, 14:58
par moogli
salut,

ton code part du principe que les fichiers seront nommé dans l'ordre de 1 à x et ne seront que des jpg.

Le plus simple c'est de modifier ce comportement en listant le répertoire.
Tu pourras ainsi choisir facilement les extensions que tu souhaites afficher (pense à vérifier sans tenir compte de la casse pour éviter de laisser certaine sur le carreaux ;) ).

Pour cela plusieurs solutions :
- glob
- DirectoryIterator
- readdir

@+

Re: Modification script php

Posté : 01 mai 2014, 16:58
par ideal232
Merci pour la réponse
Malheureusement, je n'arrive pas à faire cette modification.

Re: Modification script php

Posté : 01 mai 2014, 17:21
par moogli
qu'as tu fait ?

Re: Modification script php

Posté : 01 mai 2014, 17:29
par ideal232
j'ai essayé avec opendir readdir et closedir , mais je ne sais pas conserver la structure de la galerie avec $captions. le html5 et css3 , je gère , mais le php ,j'ai encore à apprendre

Re: Modification script php

Posté : 01 mai 2014, 17:38
par moogli
sans code on ne peux pas t'aider.

la lecture du répertoire remplace simplement la boucle for.


@+

Re: Modification script php

Posté : 01 mai 2014, 17:47
par ideal232
d'accord, je vais refaire mon code