Je me permets de poster sur un sujet mainte fois débattu, du moins on trouve de nombreux tutoriaux sur le web: créer une gallerie à partir d'image contenu dans un dossier.
Ce que je souhaite:
- Donner à une variable une url
- Rechercher dans le dossier cible les images
- Afficher les images
Mon code:
Pour info, il s'agit d'une page créer dans magento (plateforme de e-commerce).
Tout n'est pas optiminé, notament la question du "directory", mais cette partie fonctionne!
<?php
// current path
$currentUrl = $this->helper('core/url')->getCurrentUrl();
$urlspec = basename($currentUrl);
//path to directory to scan
if ( $urlspec == "gallery") {
$directory = Mage::getBaseUrl('media')."gallery/";
} else {
$directory = Mage::getBaseUrl('media')."gallery/".$urlspec."/";
}
//get all image files with a .jpg extension.
$images = glob($directory."{*.jpg,*.gif,*.png}", GLOB_BRACE);
//print each file name
foreach($images as $image) { ?>
<div class="gallery-pix">
<a class="fancy-img-gallery" href="<?php echo $directory.$image ?>" title="Click to view <?php echo $image ?>">
<img src="<?php echo $directory."thumbnail/".$image ?>" alt="<?php echo $image ?>" />
</a>
<p class="error-msg">
<a href="<?php echo $directory.$image ?>">download</i></a>
</p>
</div>
<?php } ?>
Le problème:La gallerie ne s'affiche pas.
Si je fais un
echo $directory, j'obtiens bien l'url de mon dossier.Si je fais un
print_r $images, j'obtiens array () donc vide.Par contre cela fonction parfaitement si je crée le tableau avec les nom de fichiers directement comme ceci
$images = array("image1.jpg","images2.jpg","image3.jpg")
QuestionQuelle partie de mon code est à revoir. J'ai essayé différente technique pour lister les noms des fichiers (avec opendir, scandir, par exemple), sans succès.
C'est peut-être un problème de variable, de droits du dossier... Je retourne le problème dans tous les sens. Je suis perdu et je pressens que ce problème va me faire faire un bond de compétence en php!
Merci par avance pour les indices.
Bonne journée,
CV