Afficher toutes les images d'un dossier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher toutes les images d'un dossier

par EsKa » 03 avr. 2008, 14:06

Parfait, ça marche sans problème maintenant.

Merci pour ton aide !

par Ryle » 03 avr. 2008, 13:04

Le or die pourrait marché également (c'est pas réservé aux requêtes), mais il serait sans doute plus judicieux de tester avant si le dossier existe ou pas : file_exists() :)

par EsKa » 03 avr. 2008, 12:36

J'y suis presque ...
		<?php
		if ($handle = opendir("image_aquarium/$idpage/")){
		    while (false !== ($file = readdir($handle))){
		        if ($file != "." && $file != "..") {
		            echo "<a href=\"image_aquarium/$idpage/$file\" target=\"_blank\"><img width=\"150\" src=\"image_aquarium/$idpage/$file\"> </a>";
		        }
		    }
		    closedir($handle);
		}
		else {
			echo"Pas d'images";
		}
		?> 
Il me reste u problème, c'est que si le dossier n'existe pas, c'est à dire, si le membre n'a pas posté d'image, il me met (en plus du message) :

Code : Tout sélectionner

Warning: opendir(image_aquarium/9/) [function.opendir]: failed to open dir: No such file or directory in D:\EsKarium.be projet informatique\ZMWS\_web.zmwsc\PROJET\aquarium.php on line 46
Pour une requète SQL, je connais le "or die" mais pour un fichier qui n'existe pas ...

par Ryle » 03 avr. 2008, 11:52

Un dossier contient généralement deux "dossiers" cachés.

Le premier est "." qui fait référence au dossier courant
Le second est ".." qui fait référence au dossier parent.

Lorsque tu parcours la liste des éléments du dossier, il te faut tester que l'élément est bien un fichier (is_file()) ou que sa valeur est différente de "."ou ".." pour éviter d'afficher ces deux éléments :)

par EsKa » 03 avr. 2008, 11:41

Mon premier problème ...
		<?php
		if ($handle = opendir("image_aquarium/$idpage/")) {
			while (false !== ($file = readdir($handle))) {
				echo "<img src=\"$file\">";
			}
			closedir($handle);
		}
		?>
Ca fontionne presque, mais pour lui, "$file" correspond à : ...nom_image.jpg (par exemple). Les "..." correspondent je suppose au répertoire, comme faire pour ne pas les afficher avec que la fonction image fonctionne ?

Edit 1 :

J'ai essayé ceci :

echo "<img src=\"image_aquarium/$idpage/$file\">";
Il affiche l'image, mais à gauche de l'image il veut afficher deux images inexistantes ... dont les liens sont :

http://127.0.0.1:8080/PROJET/image_aquarium/8/
http://127.0.0.1:8080/PROJET/image_aquarium/

C'est donc en effet le chemin, mais comment faire pour ne pas les afficher ?


Edit 2 : Résolu... ça m apprendra a poster trop vite, désolé !

par Ryle » 03 avr. 2008, 11:24

Regarde du côté de la fonction readdir() pour parcourir les éléments d'un dossier (afficher les images que tu y trouves ne devrait pas poser trop de problème :))

Quant à la supression d'un fichier, c'est vers unlink() qu'il faut te tourner :)

Afficher toutes les images d'un dossier

par EsKa » 03 avr. 2008, 11:21

Bonjour à tous,

Je termine un projet pour les cours (donc je débute en HTML) et je suis bloqué qur quelque chose qui me parait assez simple ...

En berf, j'upload des images dans un dossier, un dossier par utilisateur.
define('TARGET', "image_aquarium/$idpage/");
1. Affichage

J'aimerais que lorsqu'on va sur une page avec l'idpage correspondant au dossier, toutes les images soient affichées dans un tableau. Je suppose qu'il doit exister une fonction pour ça mais je ne trouva pas.

2. Suppression

Comment faire, en php, pour supprimer des images dans un dossier ... la je cale complètement.


NB : l'idée générale est que chaque membre puisse envoyer des photos pour afficher sur sa page perso (aqarium.php) - un peu comme un site de "rencontre" - et que donc les images soient stockées dans un répertoire et puissent être gérée par l'administrateur et les membres. Si quelqu'un a une source d'aide, je n'ai rien trouvé pour le moment.


Un grand merci pour l'aide que vous pouvez m'apporter.


EsKa

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]