Gallerie photo, thumbnail automatique

Soyez le premier à donner votre avis sur cette source.

Vue 28 813 fois - Téléchargée 124 952 fois

Description

voici une gallerie photo basique, mais tellement utile et fiable, que je vous la propose.
je l'ai developpé pour mes besoins personnel http://pictures.allboard.net

vous avez juste a placer vos images ou repertoires d'images dans /images/ et l'arborescence, les thumbnails sont generé automatiquement a l'ecran.
si les thumbnail existes deja, il sont juste affiché, sinon, il sont créé par php et placé dans le rep mirroir /thumbs/.

tres tres basique, C facilement updatable selon les besoins.

Source / Exemple :


// voici le code du fichier des fonctions

<?php

function createthumb($name,$filename, $thumb_x, $thumb_y, $caption)
{
	if (!file_exists($filename)){
		$img_in = imagecreatefromjpeg($name);
		$img_out = imagecreatetruecolor($thumb_x, $thumb_y);
		$tc = str_replace(".//","",$img);
		imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));
		$white = imagecolorallocate($img_out, 255, 255, 255);
		$black = imagecolorallocate($img_out, 0, 0, 0);
		//imagestring($img_out,1,3,3,$caption,$black);
		//imagestring($img_out,1,2,2,$caption,$white);
		imagejpeg($img_out, $filename, 100);
		imagedestroy($img_out);
		imagedestroy($img_in);
	}
}

function createDir($from, $to) {
	$dossier=opendir($from); 
		while ($fichier = readdir($dossier)) { 
		$l = array('.', '..');
			if (!in_array( $fichier, $l)){ 
				if (is_dir($from."/".$fichier)){ 
					if (!file_exists($to."/".$fichier)){
					  mkdir($to."/".$fichier, 0777);
					  chmod($to."/".$fichier."/", 0777);
					}
					createDir($from."/".$fichier,$to."/".$fichier);
				}
			}
		}
}

function generate($fullsized , $thumbs){ 
$thumb_x	= "128";		// Horizontal size of thumbnail created in pixels
$thumb_y	= "96";			// Vertical size of thumbnail created in pixels
$dossier=opendir($fullsized); 
	while ($fichier = readdir($dossier)) { 
	$l = array('.', '..','Thumbs.db'); 
		if (!in_array( $fichier, $l)){ 
		$tmp = $thumbs."/".$fichier;
		$tmp2 = $fullsized."/".$fichier;
		$tmpd = ereg_replace("images/","",$tmp2);
		
			if (is_dir($fullsized."/".$fichier)){ 
				print("
				<a href=\"?d=$tmpd&id=$id\" class=\"liens\">$fichier</a><br>
				");
			} else {
				$img_nfo = getimagesize($fullsized."/".$fichier);
				createthumb($fullsized."/".$fichier,$thumbs."/".$fichier, $thumb_x, $thumb_y, $caption);
				$url = "javascript:showimage('big.php?show=$fullsized/$fichier','$img_nfo[0]','$img_nfo[1]')";
				print("
				<a href=\"$url\"><img border=0 src=\"$tmp\"></a>
				");
			} 
		} 
	} 
}
?>

Conclusion :


sur votre repertoire ftp, vous devez placer les 2 repertoires vide /images/ et /thumbs/, tous les 2 chmodés en 777.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
vendredi 18 décembre 2009
Statut
Membre
Dernière intervention
26 mars 2010

salut, moi les thumbs, les images fonctionne, mais le popup reste blanc, l'image ne s'affiche pas.

vous auriez une idee !!!!

milles merci
Messages postés
2
Date d'inscription
mardi 21 février 2006
Statut
Membre
Dernière intervention
22 février 2006

bonjours,

Les miniatures ne saffiche pas et jai les lignes derreur suivantes pour chaque images :
Warning: imagejpeg(): Unable to access images/concept/thumbs/DSCI0001.jpg in /home/httpd/vhosts/starttheriot.net/subdomains/viedordures/httpdocs/catalog/image.php on line 14

Warning: imagejpeg(): Invalid filename 'images/concept/thumbs/DSCI0001.jpg' in /home/httpd/vhosts/starttheriot.net/subdomains/viedordures/httpdocs/catalog/image.php on line 14

Par contre les pop ups marches bien.

Quelqu'un saurais dou ca peut venir. (pour un site oscomerce)

merci
Messages postés
2
Date d'inscription
mardi 21 février 2006
Statut
Membre
Dernière intervention
22 février 2006

Salut,

Jai un soucis pour integrer ton code dans une boutique oscommerce.

La gallerie foto marche bien kan il est dans le repertoire racine mais si je le met dans un otre dossier il ne trouve pas les image et me met un tas de ligne derreur. Je pense que cest parcekil y a un comflit de variable ..

Quelqun orai une idee du probleme et une solution ?

Merci davamce
Messages postés
50
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
8 mars 2007

BlackWizzard pourrais-tu nous indiquer comment intégrer ton bout de code de flashkod dans celui de phpcs ? les fontions et les variables ne sont plus les mêmes... je sais je chipote ;) mais sur les photos verticales on dirait qu'elles sont passées au rouleu compresseur lol
@+
Messages postés
1277
Date d'inscription
mercredi 21 mars 2001
Statut
Modérateur
Dernière intervention
21 juin 2009
2
Vous trouverez une update de la fonction de redimentionnement ici, prenant en compte les dimentions:
http://www.flashkod.com/code.aspx?id=22971
Afficher les 19 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.