8768 sujets

Développement web côté serveur, CMS

Bonjour,

Après maintes recherches je n'arrive pas à trouver de solutions. Voici mon problème :
Pour le moment je ne travaille que sur le PC, avant de travailler sur le serveur.
J'ai plusieurs dossiers composés d'images (JPG), j'utilise le code suivant, trouver sur internet, pour lister les dossiers :


<?php
	$rp = "./image/galeries";
				// nom du répertoire à lister
				$rep = opendir($rp);
				while ($sous_fichier = readdir($rep)) {// parcours du répertoire
					if (($sous_fichier == ".") || ($sous_fichier == ".." )) {echo "";
					} else {
						// affichage image
						echo "<img src='", $rp, "/", $sous_fichier, "'><a href='#' onclick=\"window.open('voir_galerie.php?photo=", $rp, "/", $sous_fichier, "','xxn','width=400,height=400')\">", $sous_fichier, "<br>";
					}                                                                                                                                                                           
				}
				closedir($rep);
				?>



Sur la page, j'ai bien tous les fichiers qui sont dans "/image/galeries" qui sont listés et on peut cliquer dessus, une nouvelle page s'ouvre ('voir_galerie.php")

voir_galerie.php :


<?php
echo '<img src="',$photo,'">'; 
$_GET['photo']
?>




J'ai bien tous les fichiers qui sont dans "galerie", mais lorsque je clique, je n'ai aucune image qui s'affiche ou alors j'ai une icone avec une feuille qui est déchirée en deux.

Le but est que lorsque je clique sur le lien du dossier qui est composé d'images, j'ouvre une fenêtre avec les images sous forme de galerie avec un zoom sur image.

Je vous remercie d'avance pour votre aide,


Tiph
Salut...

Je déduis que le php n'est pas encore un grand ami Smiley cligne

Déjà pourquoi as tu des virgules partout à la place des points ???

deuxio la même chose avec du code expliqué Smiley cligne c'est plus simple pour apprendre et comprendre


<?php
$directory = "/image/galeries";
$scanned_directory = array_diff(scandir($directory), array('..', '.'));
foreach($scanned_directory as $zeFile){
 // donc tant qu'il y a des fichiers
	echo "<a href='#' onclick=\"window.open('voir_galerie.php?photo=".$directory."/".$zeFile."','xxn','width=400,height=400')\"><img src='".$directory."/".$zeFile."'></a>";
// on affiche le lien avec l'image [smile]
}
?>


et pour voir_galerie.php


<?php
//affichage de l'image envoyée en GET
echo '<img src="'.$_GET['photo'].'">'; 
?>
Bonjour,

C'est vrai php n'est pas mon fort Smiley decu
Je n'ai fait que copier le code que j'ai trouvé Smiley ohwell et j'avais mon listing de dossier qui fonctionne bien, mais pas l'affichage des photos (soit 200 par dossier), lorsque je clique sur un des dossiers

Merci pour ton code, par contre, il ne fonctionne pas, il y a une erreur à ce niveau


 $scanned_directory = array_diff(scandir($directory), array('..', '.'));
pchlj a écrit :

Déjà pourquoi as tu des virgules partout à la place des points ???
Ha ça je peux te le dire.

Le point est un caractère de concaténation alors que la virgule est un caractère de juxtaposition.

Les plus pointilleux diront que sur un milliard d'opérations, avec des virgules on gagne une micro-secondes ; les autres diront que c'est kiff-kiff.

Smiley smile
merci de tes lumières greg Smiley smile

euh.. tiph si y a une erreur Smiley smile ce serait bien de la mettre Smiley cligne ça aide Smiley lol
tiph3164 a écrit :

J'ai bien tous les fichiers qui sont dans "galerie", mais lorsque je clique, je n'ai aucune image qui s'affiche ou alors j'ai une icone avec une feuille qui est déchirée en deux.
Ce qui signifie que le chemin est erroné.
Quand tu regardes le code source, quelle url est présentée et quelle est celle que tu devrais avoir ?

Peut-être devrais-tu nous poster ton arborescence qu'on comprenne où se situe la truffe ?!
Bonjour,

Désolée du retard de réponse, les erreurs sont :

Warning: scandir(/image/galeries,/image/galeries): in D:\ITEM\visu_galerie.php on line 38

Warning: scandir(/image/galeries): failed to open dir: No such file or directory in D:\ITEM\visu_galerie.php on line 38

Warning: scandir(): (errno 2): No such file or directory in D:\ITEM\visu_galerie.php on line 38

Warning: array_diff(): Argument #1 is not an array in D:\ITEM\visu_galerie.php on line 38

Warning: Invalid argument supplied for foreach() in D:\ITEM\visu_galerie.php on line 39


Si je mets ./image/galeries, j'ai 6 icônes de fichiers déchirés upload/63660-fichier.JPG

Après le code que j'ai mis au début du forum fonctionne, sans erreur, c'est juste que lorsque je clique sur un dossier j'ai une icône avec un fichier déchiré exemple
Lorsque je clique sur galerie_1 ou galerie_2 upload/63660-galerie.JPG , une page s'ouvre mais j'ai toujours cette icône avec un feuille déchirée.
Mes images sont en .JPG

Merci d'avance pour l'aide