Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

Vous n'êtes pas identifié(e).

#1 29/02/2008 06:02:18

rebel
Membre
Inscription : 31/01/2008
Messages : 62
Site Web

gallerie photo2

J'ai trouver une autre source d'album php
2 fichiers index.php et vignettes.php

vous avez juste a copié l'image dans un dossier qui contient les deux fichiers
et voila les vignettes se fait tout seul ainsi qu'il est possible de crée des dossiers
et le script s'occupe du reste.

Voir l'exemple a cette adresse : http://bbs-qc.freehostia.com/index.php?perma=album

1 - crée un page pour votre album ( nommé la source ''album'' par exemple
et inclure ceci a l'intérieur pour pas passé en externe

<IFRAME SRC="/album/" NAME="" width="100%" height="100%" border=0 frameborder=0 align=center>If you can see this, then your browser does not support frames.<BR>You need IE3+.<BR>Sorry.</IFRAME>

2- crée un dossier nommé ''album''

3 copier les deux fichiers suivant

index.php

<?
/*
###############################################
Album photos express V 1.2.2
Philippe HALICKI
philippe@exconcept.com
www.exconcept.com
Script écrit le 24/09/2004
Modifié le 04/10/2005

Supporte les formats JPG, GIF et PNG.

Cet album photos permet de lister toutes les images de répertoires, de remonter et de descendre à volonté dans l'arborescence jusqu'au point d'arret corrspondant à l'emplacement du script.
Voici la liste des éléments que vous pouvez définir :

- Nombre de lignes et de colonnes par page
- Largeur MAX des vignettes
- Hauteur MAX des vignettes
- Affichage d'un cadre autour des vignettes ou non
- Redimensionnement à la volée ou non
- Epaisseur du cadre du tableau d'affichage des vignettes 
- Couleur du cadre du tableau d'affichage des vignettes 


Installation : Placez les fichiers index.php et vignettes.php dans le répertoire racine contenant les images. C'est tout !

L'appel se fait par index.php
###############################################
*/


/* ############################# */
/* ### Variables utilisateur ### */
/* ############################# */


/* ### $nbimages = nombre de lignes à afficher ### */
$nblignes='5';


/* ### $nbcols = nombre de colonnes à afficher ### */
$nbcols='5';


/* ### $larimage = largeur MAX des miniatures ### */
$larimage='150';


/* ### $larimage = hauteur MAX des miniatures ### */
$hautimage='100';


/* ### $epaiscadretable = Epaisseur du cadre du tableau d'affichage des vignettes ### */
$epaiscadretable='2';


/* ### $epaiscadretable = Couleur du cadre du tableau d'affichage des vignettes (valeur héxa) ### */
$coulcadretable='FADF72';


/* ### $cadrak = Affichage d'un cadre autour des vignettes ou non, 1 pour oui, 0 pour non ### */
$cadrak='1';


/* ### $redimvoz = Redimension à la volée (nécesite GD2), 1 pour oui, 0 pour non ### */
/* ### Le redimensionnement à la volée nécesite beaucoup de resources serveur mais permet de considérablement accélerer l'affichage des vignettes ### */
$redimvoz='1';


?><html>
<head>
<TITLE>Album photos express V 1.2</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="reply-to" content="info@exconcept.com">
<meta http-equiv="bulletin-date" content="17/09/2004">
</head>
<body text="#000000" link="#000000" alink="#000000" vlink="#000000" bgcolor="#FFFFFF" leftmargin="10" marginwidth="5" topmargin="10" marginheight="5">
<div align="center"><?


/* ### Fonction d'affichage de l'album ### */
function affichimgs($nblignes,$larimage,$hautimage,$nbcols,$url,$urlancien,$redimvoz,$cadrak,$epaiscadretable,$coulcadretable){
	if (isset($_REQUEST['start'])){
		$start = $_REQUEST['start'];
	}
	if(is_null($start)){
		$start = 0;
	}

	if($url!=''){
		$urlt=$url.'/';
		$dossier = opendir($urlt);
	}
	else{
		$dossier = opendir('.');
	}


	$images = array();
	while($fichier = readdir($dossier)){


		/* ### Enregistrement de la liste du noms des images dans la table $images ### */
		$extent=substr($fichier,strrpos($fichier,"."));
		$extensaj=strtoupper($extent);
		if($extensaj=='.JPG' || $extensaj=='.JPEG' || $extensaj=='.GIF' || $extensaj=='.PNG'){
			array_push($images, $fichier);
		}
		$extensaj='';
	}
	closedir($dossier);
	$nb = sizeof($images);
	
	if($start==''){
		$start=0;
	}
	$i=$start;
	$k=0;
	$numligne=0;
	$stopboucle='no';
	$nbcellules=$nblignes*$nbcols;


	/* ### Affichage de la table ### */
	?><table border="0" cellpadding="0" cellspacing="0" bgcolor="#<? echo $coulcadretable; ?>">
	<tr>
	<td bgcolor="#<? echo $coulcadretable; ?>" colspan="2"><table border="0" cellpadding="4" cellspacing="<? echo $epaiscadretable; ?>" width="100%"><?


	/* ### Début de boucle ### */
	while($stopboucle=='no'){


		/* ### Extraction de l'extension ### */
		$imagesource=$urlt.$images[$i];
		$extent=substr($imagesource,strrpos($imagesource,"."));
		$extensaj=strtoupper($extent);


		/* ### Arret de la boucle si plus rien ### */
		if($extensaj==''){
			$stopboucle='ok';
		}


		/* ### Nouveau test pour vérifier que seules les images seront affichées ### */
		if($extensaj=='.JPG' || $extensaj=='.JPEG' || $extensaj=='.GIF' || $extensaj=='.PNG'){
			$numligne++;


			/* ### Arret de la boucle si nb images = nb défini pour une page ### */
			if($numligne >= $nbcellules){
				$stopboucle='ok';
			}


			/* ### Extraction des dimensions de l'image ### */
			$sizeimgo=getimagesize($imagesource);
			$imglargo=$sizeimgo[0];
			$imghauto=$sizeimgo[1];


			/* ### Recalcul des dimensions MAX des vignettes ### */
			if ($imglargo>$larimage){
				$imghautoz=$imghauto*$larimage/$imglargo;
				$imghautoz=round($imghautoz);
				$imglargoz=$larimage;
			}
			else{
				$imglargoz=$imglargo;
				$imghautoz=$imghauto;
			}
			if ($imghautoz>$hautimage){
				$imglargoz=$imglargoz*$hautimage/$imghautoz;
				$imglargoz=round($imglargoz);
				$imghautoz=$hautimage;
			}


			/* ### Ouverture de la ligne ### */
			if(($i%$nbcols) == 0){	
				?><tr><?
				$k=0;
			}
			

			/* ### Poids de l'image ### */
			$taille=filesize($imagesource);
			$taille=$taille/1024;
			$taille=round ($taille);


			/* ### Affichage de l'image ### */
			?><td bgcolor="#FFFFFF" valign="middle" align="center"><a href="#" onclick="javascript:window.open('index.php?imglargo=<? echo $imglargo; ?>&imghauto=<? echo $imghauto; ?>&sourceimg=<? echo $imagesource; ?>','ZOOM<? echo $k; ?>','toolbar=0,location=0,directories=0,status=0,resizable=1,copyhistory=0,scrollbars=0,menuBar=0,width=<? echo $imglargo+5; ?>,height=<? echo $imghauto+5; ?>');" title="Cliquez pour agrandir l\'image"><?


			/* ### Redimension à la volée ### */
			if ($redimvoz=='1'){
				?><img src="vignettes.php?cadrak=<? echo $cadrak; ?>&extensaj=<? echo $extensaj; ?>&sourceimg=<? echo $imagesource; ?>&largeuro=<? echo $imglargo; ?>&hauteuro=<? echo $imghauto; ?>&largeur=<? echo $imglargoz; ?>&hauteur=<? echo $imghautoz; ?>" border="0"><?
			}
			else{
				?><img src="<? echo $imagesource; ?>" border="0" width="<? echo $imglargoz; ?>" height="<? echo $imghautoz; ?>"><?
			}


			/* ### Affichage des infos sur l'image ### */
			?></a><br>
			<font face="arial" size="1">L=<? 
			echo $imglargo; 
			?> X H=<? 
			echo $imghauto; 
			?> <?
			echo $taille;
			?>Ko.<br><?
			echo $imagesource;
			?></font></td><?


			/* ### Fermeture de la ligne ### */
			$k++;
			if(($i%$nbcols) == $nbcols - 1){
				?></tr><?
			}

		}
		else if($k != $nbcols){
			for($j=$k;$j < $nbcols; $j++){
				?><td bgcolor="#FFFFFF" valign="middle" align="center"> </td><?
			}
			?></tr><?
			break;
		}
		$i++;
	}
	?></table></td>
	</tr>
	<tr>
	<td align="left" bgcolor="#FFFFFF"><?
	if($start >= $numligne){
		?><font face="arial" size="2"><a href="?urlancien=<? $urlmemo; ?>&url=<? echo $url; ?>&start=<? echo ($start - $numligne); ?>">page précédente</a></font><?
	}
	?></td>
	<td align="right" bgcolor="#FFFFFF"><?
	if(($nb > $numligne) && ($i < $nb)){
		?><font face="arial" size="2"><a href="?urlancien=<? $urlmemo; ?>&url=<? echo $url; ?>&start=<? echo $i++; ?>">page suivante</a></font><?
	}
	?></td>
	</tr>
	</table><?
}


/* ### Récupération des variables ### */
$imglargoz=$HTTP_GET_VARS[imglargo];
$imghautoz=$HTTP_GET_VARS[imghauto];
$sourceimg=$HTTP_GET_VARS[sourceimg];
$url=$HTTP_GET_VARS[url];
$urlancien=$HTTP_GET_VARS[urlancien];


/* ### Les lignes ci-dessous empèchent de remonter les répertoires ### */
/* ### Merci à symptOme de la team GSH pour la détection de la faille ### */
$urltest=eregi_replace('.','',$url);
$urltest=eregi_replace('/','',$url);
if(ctype_alpha($urltest)){
	$carac='ok';
}
if($urltest=='' || $carac!='ok'){
	$url='';
}
$urlancientest=eregi_replace('.','',$urlancien);
$urlancientest=eregi_replace('/','',$urlancien);
if(ctype_alpha($urlancientest)){
	$carac='ok';
}
if($urlancientest=='' || $carac!='ok'){
	$urlancien='';
}


/* ### Si on clique sur une image alors affichage en taille réelle ### */
if($sourceimg!=''){
	?><table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" width="100%">
	<tr>
	<td><img src="<? echo $sourceimg; ?>" border="0" width="<? echo $imglargo; ?>" height="<? echo $imghauto; ?>"></td>
	</tr>
	</table><?
}
else{
	?><table border="0" cellpadding="0" cellspacing="0" width="100%">
	<tr>
	<td valign="top" align="left"><?


	/* ### Affichage du menu de navigation des dossiers ### */
	?><table border="0" cellpadding="0" cellspacing="0" bgcolor="#000000">
	<tr>
	<td bgcolor="#000000"><table border="0" cellpadding="4" cellspacing="1">
	<tr>
	<td bgcolor="#CB9900"><font face="arial" size="2" color="#FFFFFF"><b>Dossiers :</b></font></td>
	</tr><?

	
	/* ### Mise en place d'un arret pour empècher de redescendre plus bas que de raison ;) ### */
	if($url!=''){
		?><tr>
		<td bgcolor="#FADF72"><font face="arial" size="4"><b><a href="index.php?url=<?


		/* ### On supprime le dernier slash et on affiche le lien ### */
		$urlancien= substr($urlancien, 0, -1); 
		echo $urlancien;
		?>">..</a></b></font></td>
		</tr><?
	}
	

	/* ### Initialisation des variables dossiers ### */
	if($url!=''){
		$url=$url;
		$urlmemo=$url.'/';

	}
	else{
		$url='.';
		$urlmemo='';
	}
	$AllFiles = array();
	$AllDir = array();


	/* ### Affichage des dossiers ### */
	if ($handle = opendir($url)) {
	    while (false !== ($file = readdir($handle))) {
	        if ((is_dir($urlmemo.$file)) && $file != "." && $file != "..") {
					?><tr>
					<td bgcolor="#FFFF9C"><font face="arial" size="2"><a href="index.php?urlancien=<? echo $urlmemo; ?>&url=<?
					echo $urlmemo.$file;
					?>"><?
					echo $file;
					?></a></font></td>
					</tr><?
	        }
	    }
	    closedir($handle);
	}
	?></table></td>
	</tr>
	</table><br><?
	/* ### Fin d'affichage du menu de navigation des dossiers ### */


	?></td>
	<td valign="top" align="center"><?


	/* ### Appel de la fonction pour l'affichage des images ### */
	affichimgs($nblignes,$larimage,$hautimage,$nbcols,$url,$urlancien,$redimvoz,$cadrak,$epaiscadretable,$coulcadretable);

	?></td>
	</tr><?
	

	/* ### Affichage des crédits ### */
	?><tr>
	<td colspan="2" align="center"><font face="arial" size="1"><br><br>Album photos express V 1.2.2 &copy 2005 <a href="mailto:philippe@exconcept.com">philippe HALICKI</a><br>Téléchargez ce script en cliquant <a href="http://www.protestants-schweighouse.org/medias/album-photos-express-1-2.zip">ICI</a></font></td>
	</tr>
	</table><?

}


?></div>
</body>
</html>

et vignettes.php

<?
$sourceimg=$HTTP_GET_VARS[sourceimg];
$largeur=$HTTP_GET_VARS[largeur];
$hauteur=$HTTP_GET_VARS[hauteur];
$extensaj=$HTTP_GET_VARS[extensaj];
$largeuro=$HTTP_GET_VARS[largeuro];
$hauteuro=$HTTP_GET_VARS[hauteuro];
$cadrak=$HTTP_GET_VARS[cadrak];


/* ### Type d'image ### */
if($extensaj=='.JPG' || $extensaj=='.JPEG'){
	header("Content-Type: image/JPEG");
	$imxz=@imagecreatefromjpeg($sourceimg);
}
if($extensaj=='.GIF'){
	header("Content-Type: image/PNG");
	$imxz=@imagecreatefromgif($sourceimg);
}
if($extensaj=='.PNG'){
	header("Content-Type: image/PNG");
	$imxz=@imagecreatefrompng($sourceimg);
}


/* ### Création de l'image à la longeur et la largeur de la vignette ### */
$im = @imagecreate ($largeur, $hauteur);


/* ### On applique un fond noir ### */
imagefill ($im, 0, 0, imagecolorallocate($im, 0, 0, 0));	


/* ### Construction d'un cadre autour de l'image ### */
if($cadrak=='1'){
	$largeur=$largeur-2;
	$hauteur=$hauteur-2;
	$posixe='1';
	$posigrek='1';
}
else{
	$posixe='0';
	$posigrek='0';
}


/* ### On colle et on redimensionne l'image sur la vignette ### */
ImageCopyResampled($im,$imxz,$posixe,$posigrek,0,0,$largeur,$hauteur,$largeuro,$hauteuro);


/* ### Affichage de l'image ### */
if($extensaj=='.JPG' || $extensaj=='.JPEG'){
	imagejpeg($im); /* image compressée à un taux de 90% */
}
if($extensaj=='.GIF' || $extensaj=='.PNG'){
	imagepng ($im);
}


/* ### Destruction de la source ### */
imagedestroy ($im);
?>

( et moi je utilise ''phpcs_EXPLORATEUR-FICHIER-PHP___Page.zip''
pour naviguer en mode FTP sur mon hebergeur au lieu d'ouvrir mon logiciel a toute les fois que je veut transfèré une image ou autre )
http://www.phpcs.com//code.aspx?ID=44888

Dernière modification par rebel (29/02/2008 06:56:48)

Hors ligne

Pied de page des forums