Code solutions to PHP, JS, CSSCode source PHP, JS, CSS

Répandez vos soluces sur la planète

Love me
Solucior » PHP » Simple galerie d'images PHP

Simple galerie d'images PHP

06/01/2011 par Dux   -   3.9/5 (10 notes)

Le code suivant est un script de galerie d'images en PHP simplifié au maximum.
Un seul fichier de quelques lignes de code est suffisant pour lister les images, créer des vignettes et les afficher.
Copiez tout le code dans un fichier vide. Nommez le comme bon vous semble et placez le dans un dossier contenant des images. Pour des raisons de simplification, ce code ne possède pas de gestion des erreurs. A vous de les définir, notamment avant de créer la vignette.

Fonctionnement :
la première partie liste le dossier actuel du script. Les images sont détectées grâce à leur type MIME. La boucle crée un tableau CSS basé sur des a href affichée au format block avec en background une vignette de l'image.

La deuxième partie sert à la création et l'envoi de l'image réduite au navigateur. La détection du type mime est utilisée pour définir la fonction PHP de création d'image à partir d'un fichier ( imageCreateFrom... ).

Example : Démo de galerie

code source



 
<?php
$img
= $_GET['img'];

if (
$img == "") {
   
   
// Display Thumbnails
   
$dir = opendir('.');
   while (
$file = readdir($dir)) if (strpos(mime_content_type($file), 'image') !== false)
       echo
'<a href="/fr/'.$file.'" style="display:block; float: left; margin: 2px; width:150px; height:150px; background:url('.$_SERVER['PHP_SELF'].'?img='.$file.') center center no-repeat"></a> ';
   
closedir($dir);
   
} else {
   
   
$type = substr(mime_content_type($img), 6, 10);
   eval (
"\$igd = imagecreatefrom".$type."(\$img);");
   
   
// Resize
   
list($x,$y) = getimagesize($img);
   if (
$y > $x) { $nx = 150; $ny = $y / ($x/$nx); } else { $ny = 150; $nx = $x / ($y/$ny); }
   
$isend = imagecreatetruecolor($nx,$ny);
   
imagecopyresampled($isend, $igd, 0,0, 0,0, $nx,$ny, $x,$y);
   
   
// Send
   
header('Content-Type: image/'.$type);
   eval(
"image".$type."(\$isend);");
   
imagedestroy($igd);
}

?>
Noter ce code     |     Copié : 86x

Commentaires pour Simple galerie d'images PHP

Dux     05/08/2012 02:32
Alexandre, ce doit être un warning, règle ton serveur pour la diffusion. Tu dois être en mode error warning de développement.
Alexandre     05/05/2012 14:53
Hello,
J'ai une erreur à la première ligne :
Undefined index: img

Que faire ?
Joseph     02/03/2012 02:26
Hi

How could I set the code to pull from a specific folder?

Thanks in advance

Joseph
venkat     09/15/2011 07:23
hi nice code
Ajouter un commentaire Pseudo   Site
ZOOM


Loupe image javascript
Zoom infini CSS3 et Javascript
Isoler une couleur
Récupérer les images d'une page
Largeur image dynamique selon son emplacement
Opacité avec javascript
Ajuster le taux de couleurs d'une image
Simple galerie d'images PHP
Ajuster automatiquement luminosité contraste d'une image
Zoom en CSS3