begin process at 2012 02 15 22:03:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > GALERIE PHP SANS BDD, AVEC CRÉATION DE VIGNETTES

GALERIE PHP SANS BDD, AVEC CRÉATION DE VIGNETTES


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :galerie, image, vignette, photo, miniature Niveau :Initié Date de création :21/05/2007 Date de mise à jour :23/03/2009 18:25:56 Vu :35 579

Auteur : ThePilot

Ecrire un message privé
Site perso
Commentaire sur cette source (36)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ceci est une galerie en php, qui ne nécessite pas de base de donnée. On peut choisir le nombre d'images à afficher par pages, et celles-ci sont redimensionnées.

Source

  • <div align='center' style='width:550px; margin-left:auto; margin-right:auto;'>
  • <?php
  • if (function_exists('ini_set'))
  • ini_set("memory_limit",'64M'); // la création de vignettes peut-être lourde...
  • // VOUS POUVEZ MODIFIER CETTE PARTIE SELON VOS PRÉFÉRENCES:
  • $folder = 'img'; // Dossier contenant les images
  • $mini = 'mini'; // Dossier contenant les miniatures
  • $nbimg = 20; // Nombre d'images par page
  • $hautmini = 75; // Hauteur des miniatures
  • $largmini = 100; // Largeur des miniatures
  • $larg = 600; // Largeur de l'image
  • if (!isset($_GET['galerie']) AND !isset($_GET['img'])) // Si on ne cherche pas à afficher une galerie ni une image particulière...
  • {
  • $i = 0;
  • echo '<h3>Galeries</h3><table><tr>';
  • $files = scandir($folder);
  • if ($files)
  • {
  • @$max = count($files);
  • $i = 0;
  • $j = 0;
  • while($i < $max)
  • {
  • if ($files[$i] != '.' AND $files[$i] != '..' AND $files[$i] != 'Thumbs.db' AND $files[$i] != 'perso')// par exemple, on affichera pas le contenu du dossier "perso"
  • {
  • $thumb = array();
  • $thumb = scandir($folder . '/' . $files[$i]);
  • echo '<td align="center">';
  • echo '<a href="galerie.php?galerie=' . $folder . '/' . $files[$i] . '" target="_self">';
  • echo '<img src="' . $folder . '/' . $files[$i] . '/' . $mini . '/' . $thumb[2] . '" width="130" height="100" border="0" alt="' . $thumb[2] . '" />';
  • echo '</a><br /><a href="galerie.php?galerie=' . $files[$i] . '/' . $files[$i] . '" target="_self">' . $files[$i] . '</a>';
  • echo '</td>';
  • $j++; // Pour afficher 4 images par lignes.
  • if (($j/4) == 1)
  • {
  • echo '</tr><tr>';
  • $j = 0;
  • }
  • }
  • $i++;
  • }
  • }
  • echo '</tr></table><br /><br />';
  • }
  • elseif (!isset($_GET['img'])) // Si on veut afficher une galerie...
  • {
  • $galerie = str_replace($folder . '/', '', $_GET['galerie']); // On extrait le nom de la galerie
  • echo '<h3>Galerie - ' . $galerie . '</h3>Cliquez sur une image pour la voir en plus grand.<br />';
  • if (isset($_GET['id'])) // id = page affichée
  • $id = $_GET['id'];
  • else
  • $id = 1;
  • $glop = $id * $nbimg; // Pour la pagination...
  • $glup = ($id-1) * $nbimg;
  • $row = 0;
  • $files = scandir($folder . '/' . $galerie); // On "scanne" la galerie...
  • if ($files)
  • {
  • @$max = count($files); // On compte le nombre de fichiers présents dans le dossier, pour la boucle qui suit.
  • $i = 0;
  • while($i < $max)
  • {
  • if ($files[$i] != '.' AND $files[$i] != '..' AND $files[$i] != 'Thumbs.db' AND $files[$i] != 'mini' AND $files[$i] != 'perso')// par exemple, on affichera pas le contenu du dossier "perso"
  • {
  • $row = $row+1;
  • if ($row<=$glop && $row>$glup) // affiche que les images comprises entre [(id -1) * nb images] et [id*nb images]
  • {
  • if (!file_exists($folder . '/' . $galerie . '/' . $mini . '/' . $files[$i])) // vérifie si une miniature est déjà présente, auquel cas, pas besoin d'en recréer
  • {
  • if (!file_exists($folder . '/' . $galerie . '/' . $mini)) // Si le dossier des miniatures n'existe pas, on le crée.
  • @mkdir ($folder . '/' . $galerie . '/' . $mini, 0755);
  • $Image = $folder . '/' . $galerie . '/' . $files[$i];
  • $ratio = 100;
  • // création de la miniature
  • $src = imagecreatefromjpeg($Image);
  • $size = getimagesize($Image);
  • if ($size[0] > $size[1])
  • {
  • $im = imagecreatetruecolor(round(($ratio/$size[1])*$size[0]), $ratio);
  • imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$size[1])*$size[0]),$ratio, $size[0], $size[1]);
  • }
  • else
  • {
  • $im = imagecreatetruecolor($ratio, round(($ratio/$size[0])*$size[1]));
  • imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($size[1]*($ratio/$size[0])), $size[0], $size[1]);
  • }
  • $miniature = $folder . '/' . $galerie . '/' . $mini . '/' . $files[$i];
  • imagejpeg($im, $miniature);
  • chmod($miniature,0755); // CHMOD des vignettes crées
  • }
  • $nom = substr($files[$i], 0, strlen($Fichier) - 4); // On extrait le nom de l'image de son nom complet
  • echo '<a href="galerie.php?img=' . $folder . '/' . $galerie . '/' . $files[$i] . '" target="_self">';
  • echo '<img src="' . $folder . '/' . $galerie . '/' . $mini . '/' . $files[$i] . '" border="0" width="' . $largmini . '" height=' . $hautmini . '" alt="' . $nom. '" onmouseover="document.getElementById(\'titreimg\').style.visibility=\'visible\'; document.getElementById(\'titreimg\').innerHTML = \'' . $nom . '\';" onmouseout="document.getElementById(\'titreimg\').innerHTML = \'<br />\';" /></a>';
  • }
  • }
  • $i++;
  • }
  • }
  • echo '<br /><div id="titreimg"><br /></div>';
  • if ($row == 1)
  • echo 'Il y a ' . $row . ' image enregistr&eacute;e';
  • if ($row == 0)
  • echo 'Il n\'y a aucune image enregistr&eacute;e';
  • if($row != 1 AND $row != 0)
  • echo 'Il y a '.$row.' images enregistr&eacute;es';
  • echo '<br /><br />';
  • if ($id > 1) // Affichage des N* de page
  • echo '<a href="galerie.php?id=' . ($id - 1) . '&amp;galerie=' . $galerie . '">[pr&eacute;c&eacute;dent]</a>&nbsp;-&nbsp;';
  • else
  • echo '[pr&eacute;c&eacute;dent] - ';
  • for ($i=1; $i <= ceil($row/$nbimg); $i++)
  • {
  • if ($i != $id)
  • echo '<a href="galerie.php?id=' . $i . '&amp;galerie=' . $galerie . '">' . $i . '</a>&nbsp;';
  • else
  • echo '[' . $i . '] ';
  • }
  • if ($id*$nbimg < $row)
  • echo '- <a href="galerie.php?id=' . ($id + 1) . '&amp;galerie=' . $galerie . '">[suivant]</a>';
  • else
  • echo '- [suivant]';
  • echo '<br /><br /><a href="galerie.php">Retour aux galeries</a><br /></div>';
  • }
  • else
  • {
  • echo '<br />';
  • $img = $_GET['img'];
  • $nom = strstr($img, '/');
  • $nom = strstr(substr($nom, 1, strlen($nom)), '/'); // Obtenir le nom de l'image: c'est bof, mais j'ai pas trouvé plus simple ;)
  • $nom = substr($nom, 1, strlen($nom) - 5);
  • echo '<a href="' . $img . '" target="_blank" border="0"><img src="' . $img . '" alt="' . $nom . '" width="' . $larg . '" border="0" alt="' . $nom . '"></a>';
  • echo $nom . '<br /><br />Les images sont redimensionn&eacute;es. Pour les voir avec leur taille r&eacute;elle, cliquez dessus.';
  • echo '<br /><br /><a href="javascript:history.back()"><b>Retour</b></a>';
  • }
  • ?>
  • </div>
<div align='center' style='width:550px; margin-left:auto; margin-right:auto;'>
<?php

if (function_exists('ini_set'))
	ini_set("memory_limit",'64M'); // la création de vignettes peut-être lourde...


// VOUS POUVEZ MODIFIER CETTE PARTIE SELON VOS PRÉFÉRENCES:
$folder = 'img';   // Dossier contenant les images
$mini = 'mini';    // Dossier contenant les miniatures
$nbimg = 20;      // Nombre d'images par page
$hautmini = 75;  // Hauteur des miniatures
$largmini = 100; // Largeur des miniatures
$larg = 600; // Largeur de l'image
	
	
if (!isset($_GET['galerie']) AND !isset($_GET['img'])) // Si on ne cherche pas à afficher une galerie ni une image particulière...
{

	$i = 0;
	echo '<h3>Galeries</h3><table><tr>';

	$files = scandir($folder);
	
	if ($files)
	{
		@$max = count($files);
		$i = 0;
		$j = 0;
		while($i < $max)
		{
			if ($files[$i] != '.' AND $files[$i] != '..' AND $files[$i] != 'Thumbs.db' AND $files[$i] != 'perso')// par exemple, on  affichera pas le contenu du dossier "perso"
			{
				$thumb = array();
				$thumb = scandir($folder . '/' . $files[$i]);
				
				echo '<td align="center">';
				echo '<a href="galerie.php?galerie=' . $folder . '/' . $files[$i] . '" target="_self">';
				echo '<img src="' . $folder . '/' . $files[$i] . '/' . $mini . '/' . $thumb[2] . '" width="130" height="100" border="0" alt="' . $thumb[2] . '" />';
				echo '</a><br /><a href="galerie.php?galerie=' . $files[$i] . '/' . $files[$i] . '" target="_self">' . $files[$i] . '</a>';
				echo '</td>';
			
				$j++; // Pour afficher 4 images par lignes.
				if (($j/4) == 1)
				{
					echo '</tr><tr>';
					$j = 0;
				}
			}
			$i++; 
		}
	}
	
	echo '</tr></table><br /><br />';
}
elseif (!isset($_GET['img'])) // Si on veut afficher une galerie...
{

	$galerie = str_replace($folder . '/', '', $_GET['galerie']); // On extrait le nom de la galerie

	echo '<h3>Galerie - ' . $galerie . '</h3>Cliquez sur une image pour la voir en plus grand.<br />';

	if (isset($_GET['id']))   // id = page affichée
		$id = $_GET['id'];
	else
		$id = 1;


	$glop = $id * $nbimg; // Pour la pagination...
	$glup = ($id-1) * $nbimg;
	$row = 0;


	$files = scandir($folder . '/' . $galerie); // On "scanne" la galerie...
	
	if ($files)
	{
		@$max = count($files); // On compte le nombre de fichiers présents dans le dossier, pour la boucle qui suit.
		$i = 0;
		while($i < $max)
		{
			if ($files[$i] != '.' AND $files[$i] != '..' AND $files[$i] != 'Thumbs.db' AND $files[$i] != 'mini' AND $files[$i] != 'perso')// par exemple, on  affichera pas le contenu du dossier "perso"
			{
			$row = $row+1;
			if ($row<=$glop && $row>$glup)     // affiche que les images comprises entre [(id -1) * nb images] et [id*nb images]
			{
					if (!file_exists($folder . '/' . $galerie . '/' . $mini . '/' . $files[$i]))   // vérifie si une miniature est déjà présente, auquel cas, pas besoin d'en recréer
					{
						if (!file_exists($folder . '/' . $galerie . '/' . $mini)) // Si le dossier des miniatures n'existe pas, on le crée.
							@mkdir ($folder . '/' . $galerie . '/' . $mini, 0755);
						
						$Image = $folder . '/' . $galerie . '/' . $files[$i];
						$ratio = 100;
						// création de la miniature
						$src = imagecreatefromjpeg($Image);
						$size = getimagesize($Image);

						if ($size[0] > $size[1])
						{
							$im = imagecreatetruecolor(round(($ratio/$size[1])*$size[0]), $ratio);
							imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$size[1])*$size[0]),$ratio, $size[0], $size[1]);
						}
						else
						{
							$im = imagecreatetruecolor($ratio, round(($ratio/$size[0])*$size[1]));
							imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($size[1]*($ratio/$size[0])), $size[0], $size[1]);
						}
						
						$miniature = $folder . '/' . $galerie . '/' . $mini . '/' . $files[$i];

						imagejpeg($im, $miniature);
						chmod($miniature,0755); // CHMOD des vignettes crées
						
					}
				
				$nom = substr($files[$i], 0, strlen($Fichier) - 4); // On extrait le nom de l'image de son nom complet
				echo '<a href="galerie.php?img=' . $folder . '/' . $galerie . '/' . $files[$i] . '" target="_self">';
				echo '<img src="' . $folder . '/' . $galerie . '/' . $mini . '/' . $files[$i] . '" border="0" width="' . $largmini . '" height=' . $hautmini . '" alt="' . $nom. '" onmouseover="document.getElementById(\'titreimg\').style.visibility=\'visible\'; document.getElementById(\'titreimg\').innerHTML = \'' . $nom . '\';" onmouseout="document.getElementById(\'titreimg\').innerHTML = \'<br />\';" /></a>';

			}
			}
			$i++; 
		}
	}
	
	echo '<br /><div id="titreimg"><br /></div>';

	if ($row == 1)
		echo 'Il y a ' . $row . ' image enregistr&eacute;e';

	if ($row == 0)
		echo 'Il n\'y a aucune image enregistr&eacute;e';

	if($row != 1 AND $row != 0)
		echo 'Il y a '.$row.' images enregistr&eacute;es';

	echo '<br /><br />';

	if ($id > 1) // Affichage des N* de page
		echo '<a href="galerie.php?id=' . ($id - 1) . '&amp;galerie=' . $galerie . '">[pr&eacute;c&eacute;dent]</a>&nbsp;-&nbsp;';
	else
		echo '[pr&eacute;c&eacute;dent] - ';

	for ($i=1; $i <= ceil($row/$nbimg); $i++)
	{
		if ($i != $id)
			echo '<a href="galerie.php?id=' . $i . '&amp;galerie=' . $galerie . '">' . $i . '</a>&nbsp;';
		else
			echo '[' . $i . '] ';
	}

	if ($id*$nbimg < $row)
		echo '- <a href="galerie.php?id=' . ($id + 1) . '&amp;galerie=' . $galerie . '">[suivant]</a>';
	else
		echo '- [suivant]';

	echo '<br /><br /><a href="galerie.php">Retour aux galeries</a><br /></div>';
}
else
{
	echo '<br />';
	$img = $_GET['img'];

	$nom = strstr($img, '/');
	$nom = strstr(substr($nom, 1, strlen($nom)), '/'); // Obtenir le nom de l'image: c'est bof, mais j'ai pas trouvé plus simple ;)
	$nom = substr($nom, 1, strlen($nom) - 5);

	echo '<a href="' . $img . '" target="_blank" border="0"><img src="' . $img . '" alt="' . $nom . '" width="' . $larg . '" border="0" alt="' . $nom . '"></a>';
	echo $nom . '<br /><br />Les images sont redimensionn&eacute;es. Pour les voir avec leur taille r&eacute;elle, cliquez dessus.';
	echo '<br /><br /><a href="javascript:history.back()"><b>Retour</b></a>';
}
?>
</div>

 Conclusion

Pour ce qui est de la mise en page, je vous laisse vous en charger ;)

Si vous voulez afficher la galerie en l'appelant via une adresse de ce type: http://site.com/index.php?page=galerie, il faut alors remplacer "galerie.php?id=..." par "index.php?page=galerie&amp;id=...".
(id est la page)

Merci de choisir cette source !


 Historique

23 mai 2007 16:38:47 :
améliorations: liste des pages ([1] 2 3 ...), truc avec opendir :p
28 mai 2007 10:23:05 :
Nouveau: possibilité de mettre plusieurs galeries; chacune est un dossier dans le dossier image.
21 mars 2008 19:54:36 :
- Galerie en un seul fichier, - Correction, optimisation du code, - Valide xhtml (pour le peu qu'il y a... ^^), - Titre de l'image en dessous
23 mars 2009 18:23:09 :
Modification du 23/03/09: - Changement de la méthode pour lister les images: tri par ordre alphabétique. - Éclaircissement du code, petits détails corrigés - Le dossier des miniatures est automatiquement crée si oublié.
23 mars 2009 18:25:56 :
- Changement de la méthode pour lister le contenu des dossiers (scandir au lieu de readir), et donc tri par ordre alphabétique des galeries et images. - Si le dossier des miniatures est oublié, création automatique. - Détails corrigés, éclaircissement du code.

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

 Sources en rapport avec celle ci

Source avec Zip FAIRE DES MINIATURE D'IMAGE, DES PHOTOS POUR LES PROFILS par zulrigh
Source avec Zip Source avec une capture SANYBEE GALLERY par sakini
Source avec Zip CRÉATION D'UNE MINIATURE AVEC UNE LARGEUR OU UNE HAUTEUR MAX... par medium69
Source avec Zip Source avec une capture GALERIE D'IMAGE SIMPLE ET FACILE A INTEGRER A VOS PAGES EXIS... par darknessneo
GALERIE PHOTO SIMPLE (1 FICHIER) SANS MYSQL AVEC GESTION DES... par malokaff

Commentaires et avis

Commentaire de ThePilot le 21/05/2007 18:47:44

Et allez-y doucement, je suis débutant en php :p

Commentaire de coucou747 le 22/05/2007 05:16:20 administrateur CS

ca m'a l'air interessant, on peut toutefois faire les recommandations habituelles :
" est a oublier, utilise ' a la place
ton code html est brouillon...
$dossier = opendir($folder);
tu ne verifies pas que tu as les droits d'ouverture... du coup, si t'as un echec ton script va continuer sans le savoir

idem pour
imagejpeg ($im, $miniature);

Commentaire de codefalse le 22/05/2007 12:20:55 administrateur CS

"tu ne verifies pas que tu as les droits d'ouverture... du coup, si t'as un echec ton script va continuer sans le savoir

idem pour
imagejpeg ($im, $miniature);" => La preuve sur ton lien ;)

Essaye de verifier chaques fonctions importantes que tu appel histoire de verifier son bon fonctionnement, comme ca tu evite les erreurs de ce type et la page est plus apreciables meme s'il n'y a pas d'images. (dsole pour le manque d'accents, je suis sur un clavier qwerty :/ )

Commentaire de ThePilot le 22/05/2007 21:16:11

Merci pour ces critiques, je vais enlever tout les " ... Par contre, pour vérifier les droits d'ouverture, je dois utiliser la fonction fopen()? avec un if (fopen("fichier") >=1) { ok } else { pas ok } ?

Commentaire de coucou747 le 22/05/2007 21:22:00 administrateur CS

nan...
$a=opendir...
if ($a===false) // probleme

Commentaire de Eliays le 23/05/2007 09:03:19

salut, il y a un probleme d'affichage des images. le code marche mais les images ne sont pas affichier.

Commentaire de Eliays le 23/05/2007 11:03:20

probleme des images regler j'avais pas creer le dossier mini dans img. par contre la creation des miniature ne respectent pas les donnees $hautmini et $largmini car dans la creation je ne vois aucune de ces var utilisé.

Commentaire de ThePilot le 23/05/2007 12:51:17

Merci, coucou747, je modifirais le code dans la semaine.
Eliays: en fait, $largmini et $hautmini sont la taille des miniatures  lorsqu'elle s'affichent via le code html:
width='<?php echo $largmini; ?>' height='<?php echo $hautmini; ?>'
Je crois que la taille réelle des miniatures est changé via la variable $ratio... mais comme le script de création des mini n'est pas de moi, je n'en suis pas sur...

Commentaire de Eliays le 23/05/2007 15:00:58

merci pour ta reponsse, une derniere question, y aurais t'il possibiliter d'afficher le nombre de page en bas entre suivant et precedent. par exemple :

[precedent] 1 [2] 3 4 5 [suivant]

avec les lien sur les numero et entourer par "[]" pour acceder aux pages.
merci

Commentaire de ThePilot le 23/05/2007 16:36:34

Eliays : c'est ok.
coucou747 : j'ai essayé un truc avec opendir, mais je sais pas si ça marche :p dis moi ce que t'en pense ;)

Commentaire de Eliays le 16/06/2007 13:30:11

coucou, est t'il possible d'afficher les images d'un dossier sans les rendre miniature avec ta page galerie.php? merci :)

Commentaire de bariro le 11/07/2007 12:06:47

avez vous développer les fonctions que vous avez utilisé, telque : imagecreatefromjpeg, getimagesize...?

Commentaire de ThePilot le 21/03/2008 19:59:32

@Eliays: afficher uniquement les images d'un dossier n'est pas le but de ma source, mais si tu regarde de plus près le code et que tu te renseigne, tu pourra trouver.

@Bariro: Ces fonctions nécessitent la library GD2.

Commentaire de bomat77 le 28/04/2008 23:26:00

Désolé je n'arrive pas à faire marcher ce code. Il ne crée pas les miniatures dans le dossier .

Pourquoi écrit tu les lignes 38 et 39 ??

# $dossimg = "$folder/$Fichier/$mini";
# $dossimg = opendir($dossimg);

merci

Commentaire de ThePilot le 29/04/2008 09:52:51

Bonjour,

J'ai écrit ces lignes sinon, ça marche pas ;)

$dossimg = $folder . '/' . $Fichier . '/' .$mini; // on défini le chemin d'une galerie
$dossimg = opendir($dossimg); // on ouvre cette galerie
while ($image = readdir($dossimg)) // on lit ce qu'il y a dans c ette galerie.

Pour les miniatures, y-a-t-il un message d'erreur?
les miniatures existent-elles, même si elle ne s'affichent pas(dans ce cas, problème de CHMOD...) ?

La library GD_2 doit être activée.

Commentaire de fred6937 le 07/03/2009 17:16:27 9/10

Bonjour,

Tout d'abord 1 énorme merci pour ce script je l'emplois et le trouve super !

J'ai seulement 1 seul problème qui est énervant car je l'emploi pour mettre des tof d'un logement de vacance donc je place des tof en premier de l'extérieur et puis des tof de l'intérieur et impossible de comprendre la façon dans le quel ce script classe les photos mais toutes mes photos sont mélangée ..

Mes photos sont pourtant renommée de la façon suivante :
01.jpg/02.jpg/03.jpg/04.jpg/05.jpg/06.jpg/07.jpg/08.jpg/09.jpg/10.jpg/11.jpg/12.jpg et ainsi de suite, donc pour moi ces bon mais le script n'en prend pas compte !

Mon dossier photos (avec 3 sous dossier de dans) est placé à la racine du serveur
Mon fichier galerie.php est placé a la racine du serveur.
J'ai bien fais tout ce que disais le fichier d'aide avec le script :

$folder = "photos";   // Dossier contenant les images
$mini = "mini";    // Dossier contenant les miniatures

Le script fonctionne donc très très bien si ce n'est ce problème de triage d'image dans chaque dossier .

Si quelqu'un a 1 solution çà m'aiderais sérieusement ?
Merci en tout qu'à pour ce p'tit script c'est sympa
Fred

Commentaire de fred6937 le 07/03/2009 17:54:14

Hmmmmm par contre en local sous Wamp çà fonctionne !!!

Y aurrais pas 1 bout de code qui fonctionne pas ou mal sous 1 serveur ???

Ici j'ai prix 1 mutualisé chez ovh donc je comprend pas trop, si a la limite çà serrais 1 gratuit je dirais pas mais ici c'est pas le qu'à !

Merci à ceux qui pourrais m'aidez
Fred

Commentaire de fred6937 le 23/03/2009 02:06:29

Hmmm Après +/- 20 jours !

1 P'tit UP pour voir si personne serrais m'aidez avec mon problème ???

Commentaire de ThePilot le 23/03/2009 16:57:58

Salut !

Ce que tu demandes est possible, mais ça demande pas mal de modifications de ce code, et il n'y aurait plus grand chose en commun. Je te le coderais bien, mais le temps me manque beaucoup en ce moment (étant pas pro, je met du temps pour faire ça :p)...
Ça doit pouvoir se faire avec des tableaux: listage des galeries, ensuite, on tri l'array par ordre alphabétique avec sort(), puis pareil pour les images...

Quelqu'un d'autre à une idée?

Commentaire de fred6937 le 23/03/2009 17:05:58

Hmmm Salut ThePilot,

Merci d'avoir répondu ;-)

Ben en faite ce script fais exactement ce que je veux en local, une fois sur 1 serveur ''chez ovh'' le script ne prend plus en compte les numéros sur mes images et me les classes toute dans le désorde ...

Moi j'suis vraiment pas assez callé pour codé mais a mon avis il y a 1 bout de code dans la source qui peux être changer car en local tout ce passe comme il faux !!!

Si je nomme mes photos : 001.jpg, 002.jpg, 003.jpg etc il les affiche dans l'ordre sans aucun soucis mais une fois le passage sur 1 vrai serveur => terminer tout est mélanger ...

Commentaire de ThePilot le 23/03/2009 18:28:49

Bon, finalement, j'avais du temps :p

Le code a bien changé, et les problèmes des posts précédents corrigés (enfin, ça marche chez moi ;-) )

Qu'en pensez vous?

Commentaire de fred6937 le 23/03/2009 21:53:19

Slt ThePilot,

Merci de prendre de ton temps ;-)

Chez moi çà donne ceci sur la page galerie.php (je remet donc ma vielle sav. en attendant lol) :

Fatal error: Call to undefined function: scandir() in /homez.65/location/www/galerie1.php on line 18

A la ligne 18 j'ai cette portion de code :

$files = scandir($folder);

Hmmm quepasa lol, chez toi çà marche ?

Commentaire de fred6937 le 23/03/2009 22:04:57

Hmmm re,

En local ''sous wamp'' tout est de nouveau bon lol !

Par contre en ligne sur 1 vrai serveur => erreur, expliqué sur mon msg précédent.

Commentaire de ThePilot le 23/03/2009 22:32:48

Si tu as cette erreur: "Call to undefined function...", c'est qu'il ne connait pas cette fonction.

Il te faut au minimum php5 pour l'utiliser. Tu es chez OVH apparemment... peut-être qu'en leur envoyant un mail, ils pourront t'aider.

Bonne chance ;)

Commentaire de fred6937 le 23/03/2009 22:51:49

Salut,

Ha ok, ben j'vais voir car j'ai bien php5 sur mon serveur(http://www.ovh.com/fr/produits/300gp.xml),
j'viens de le prendre y a 3 semaines direct payer pour 1 ans en plus lol ...

Vais leur envoyé 1 mail direct en esperant que tout va fonctionnez
Merci pour le coup de pouce ;-)
Fred

Commentaire de fred6937 le 27/03/2009 17:10:07

Hello ThePilot,

Perfect ze versie lol

Tout fonctionne a merveille a présent, donc merci pour le coup de pouce, s'etais effectivement le php5 qui étais pas activé sur mon serveur, il est dessus mais faux l'instalé sinon t'est php4 par defaut lol !!!

Url pv, mais tu sais ou allez voir si tu veux hein ;-)
Merci encore pour ta réactivité et ton taf
bon week-end
Fred

Commentaire de ThePilot le 27/03/2009 19:22:05

Merci à toi d'utiliser ma source, et bon week end aussi !
;)

Commentaire de grex le 01/06/2009 15:28:17

Je n'arrive pas à fair marcher se script pourtant le dossier contenan les images s'appelle bien img et j'ai aussi créer le dossier mini voici le type d'erreur qui s'affiche:

Warning: scandir(img/1204.JPG) [function.scandir]: failed to open dir: Not a directory in /home/a1943596/public_html/argent/acceuil.php on line 68

Commentaire de topherus le 04/09/2009 00:33:17

Bonjour ThePilot, ton script est super, mais j'ai un serveur sur PHP5 ou je souhaiterais l'utiliser, mais j'aimerais éviter de devoir changer ma version, aurez tu trouver comment évoluer ton script ?, merci beaucoup !

Commentaire de ThePilot le 04/09/2009 12:27:51

Bonjour Topherus,

Dans le doute, tu peux tester, ça coûte rien ^^
Car normalement, ça marche impec' avec php5.

Dis-moi s'il y a un problème ;)

Pour Grex, avec un peu de retard: avec scandir(), il faut mettre un nom de dossier (dir=directory)... donc si tu as ce message d'erreur c'est que tu as mal paramétré le script:

# $folder = 'img'; // DOSSIER contenant les images (et pas un fichier donc)
# $mini = 'mini'; // DOSSIER contenant les miniatures (idem)

@+ !

Commentaire de jerome69003 le 19/10/2009 17:44:42

Bonjour
je suis dans le meme cas que Grex, j'ai beau avoir mis mes images dans un dossier img rien ne se fait j'ai tjrs cette fameuse erreur :
Warning: scandir(img/IMG_2061.jpg) [function.scandir]: failed to open dir: Not a directory
Warning: scandir() [function.scandir]: (errno 20): Not a directory

J'ai force le php en 5 au niveau du serveur mais visiblement ca ne change rien.
Est-ce que quelqu'un pourrait autrement me faire passer le code source par mail car je me demande si le probleme ne vient pas de la.

Merci d'avance
Jerome

Commentaire de weyard01 le 11/01/2010 10:29:30 8/10

Bonjour ThePilot,

Merci pour ton code source...c'est super et facile a comprendre...=)

Sinon j'ai également le probleme du scandir...Il me dit:

Warning: scandir(img/galerie_photo/charmey.jpg) [function.scandir]: failed to open dir:

Et ceci pour toutes les images de mon dossier spécifié...
J'ai contrôler le nom des dossier et ils sont corrects...

Peux-tu m'aider stp...Merci


Commentaire de Weby82 le 29/06/2010 09:23:19

Salut, sympa cette petite galerie, mais impossible de faire marcher le code, j'obtiens :

Warning: scandir(galerie/noce/1) [function.scandir]: failed to open dir: No such file or directory in C:\wamp\www\etma\include\noce2.php  on line 76

Warning: scandir() [function.scandir]: (errno 2): No such file or directory in C:\wamp\www\etma\include\noce2.php on line 76

La ligne 76 c'est : $files = scandir($folder . '/' . $galerie); // On "scanne" la galerie...

C'est bizarre mais quand je regarde l'adresse que ça me genere ça donne : galerie/noce/1 alors que mes photos sont dans galerie/noce
et que j'ai specifié comme $folder : galerie/noce
et comme $mini: galerie/noce/thumbs

y'a un soucis quelque part, il ne me trouve pas les images.
Un ptit coup de main svp ?

Commentaire de Weby82 le 29/06/2010 09:27:16

Ah et petite précision.
J'ai du rajouter un parametre pour le GET (ligne 38 et 40) :
<a href="galerie.php?page=2&galerie=' . $folder . '/' . $files[$i] . '" target="_self">
Car ma galerie qui s'appelle noce est dans ma page galerie est que les différentes pages des galeries s'ouvrent dynamiquement.
Du coup je ne sais pas si c'est pas ça qui pose soucis

Commentaire de herold le 10/07/2011 06:53:34

Tu devrais augmenter le size (ligne 5) non pas a 64M Mais à 100M pour qu'il puisse supporter  les images JPG et autres qui pourra être très lourd lors de la création des miniatures. Dans la ligne 116 tu devrais mettre $files[$i] a la place de $Fichier sinon cella n'affichera pas les photos qui sont classer par galerie.
Ce partiel de code devrait :
echo '<img src="' . $folder . '/' . $galerie . '/' . $mini . '/' . $files[$i] . '" border="0" width="' . $largmini . '" height=' . $hautmini . '" alt="' . $nom. '" onmouseover="document.getElementById(\'titreimg\').style.visibility=\'visible\'; document.getElementById(\'titreimg\').innerHTML = \'' . $nom . '\';" onmouseout="document.getElementById(\'titreimg\').innerHTML = \'<br />\';" /></a>';
Devrais ecrire de la manière suivante :
echo '<img src="' . $folder . '/' . $galerie . '/' . $mini . '/' . $files[$i] . '" border="0" width="' . $largmini . '" height="' . $hautmini . '" alt="' . $nom. '" onmouseover="document.getElementById(\'titreimg\').style.visibility=\'visible\'; document.getElementById(\'titreimg\').innerHTML = \"' . $nom . '\';" onmouseout="document.getElementById(\'titreimg\').innerHTML = \'<br />\';" /></a>';
Apres le code est parfait pour une bonne utilisation.. Merci pour le code mon ami.

Commentaire de herold le 11/09/2011 17:10:43

Salut j'ai un probleme avec, tout marche a merveille sur mon wampserver. Une fois je l'ai mis en ligne, ca n'affiche pas les fotos. Et de plus, j'ai créé un fichier uplaod pour mettre le photo en ligne et ca me donne des problemes, la page d'upload peut prendre 1-2 minutes pour upload 1 seul image. Est-ce que quelqu'un peut m'aider a resoudre ce probleme. Je l'ai herberger sur le www.computermaximum.com

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

galerie photo [ par SalahDN25 ] Salut tous le monde,je voudrais réaliser une galerie photos dans une page qui contien une table à deux colonnes: ma vision est de faire defiler vertic galerie image [ par djbabou ] Bonjour à tous ... Me revoici sur codes sources avec une nouvelle quesion: J'ai développé une galerie d'image très simple en pure css/html. En fait, Galerie photos: Miniature + rognage [ par Kronikerz ] Bonjour, Je suis à la recherche de 2 scripts: le premier permettant de miniaturiser une image, tout en gardant les proportions. Le second dans le b Récupération d'un fichier avec Ajax via un formulaire [ par ludi49 ] Bonjour, Voilà, je développe un site internet web avec la partie back-office. Au début l'administrateur a le choix entre ajouter, supprimer ou modifi redimensionner une photo lrs de l'upload [ par boubeuch1 ] Bonjour, Je souhaiterais faire en sorte que quelque soit la taille de l'image d'origine, lorsqu'elle est téléchargé sur le serveur, celle-ci est redi Ajout de plusieurs image avec "addjpegfromfile" avec ezpdf [ par AcarnanDragoon ] Bonjour à toutes et à tous, Alors voila mon ptit soucis : J'utilise ezpdf pour créer des pdf de façon dynamique à partir de ma base de données. Le p Probleme upload image dans mysql [ par vetcho2paname ] bonjour a tous je travail sur un projet personnel et je suis bloqué sur un problème. j ai creer un formulaire qui permet a un users de telecharger u Récupération un formulaire avec une photo : impossible [ par chero9000kee ] Bonjour à tous et merci d'avance pour votre aide !!!!!!!!!! Je tiens à préciser que je suis débutant, et que ça fait 3 jours que j&#8217;essaie d'envo Galerie photo pour mes membres [ par moza2409 ] Bonjour à tous Voila je suis en train de créer un petit reseau social dedié au sport, je souhaiterais que mes membres puis-ce créer leur galerie photo Galerie photo en flash avec zone commentaire [ par CamX ] bonjour je recherche désespérément un code qui me permettrait de mettre sur mon site une galerie de photos laissant la possibilité à chaque visiteur d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,622 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales