Bonjour, alors ma question va certainement vous paraitre bête mais bon, je me lance
En gros j'ai créé une galerie en PHP très simple dans laquelle des photos viennent s'ajouter de manière automatique à partir du site suivant :
[ Lien ]Hormis un petit problème de déformation des photos dans la galerie de "miniatures" (en effet les miniatures sont déformées et j'aimerai quelles fassent 100px de haut mais que la largeur soit variable car "non-déformée", j'ai surtout un GROS problème au clic d'une des miniatures : Les images s'ouvrent dans une nouvelle fenêtre dans leur taille originale ce qui a pour effet de déformer la totalité du site et est particulièrement inesthétique.
La vous vous dites : mais pourquoi ce "couillon" poste dans la partie ajax, et bien tout simplement parce que j'aimerai que les miniatures s'ouvrent dans une Shadow box plutot que dans une nouvelle page :
voici la page :
[ Lien ]/galerieNe croyant pas en la magie j'ai bien mis ceci dans le header : (à associer normallement avec un lien standar de type :
<a href="image.png" rel="shadowbox">My Image</a>
<link rel="stylesheet" type="text/css" href="shadowbox.css">
<script type="text/javascript" src="shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init();
</script>
le code PHP en question :
<?
//
// SPA : Simple Photo Album.
// version 0.2
// author: Ilann Cohen - http://ilannweb.free.fr
//
//You may customize the parameters sections
//
// START OF PARAMETERS SECTION
$doc_title = "Arbre Magique"; //web page title
$columns=4; //number of images per line
$ratio=5; //ratio imageSize / thumbnailImageSize
$quality=60; //thumbnail image quality (0: worst to 100:best)
$scriptname= "index.php"; //filename of this script
$thumb_dir = "thumb"; //directory created to stored small images
$thumb_prefix = "thumb_"; //prefix for generated images
// END OF PARAMETERS SECTION
echo "<html>\n<head>\n<title>$doc_title</title>\n";
echo "<body bgcolor=white>\n</head>\n\n\n";
echo "<center>\n<P><BR><BR>\n\n";
$mydirectory= '.'; //directory in which images are fetched
$counter=0;
$nbfiles = 0;
$currfile = "";
$filestab[0] = "";
$handle=opendir($mydirectory);
//create a directory for thumbnail images
if (! is_dir($thumb_dir))
{
mkdir($thumb_dir, 0777);
}
while ($currfile = readdir($handle))
{
// We get the extension of the current file and keep only image files
$extension= strtolower(substr( strrchr( $currfile, "." ), 1 ));
if ($extension== "gif" || $extension== "jpg" || $extension== "jpeg" ||
$extension== "png")
{
$nbfiles++;
$currfile = trim($currfile);
$filestab[$nbfiles] = $currfile;
if ($ishome == "")
{
$size = GetImageSize($currfile);
$width = $size[0] / $ratio;
$height = $size[1] / $ratio;
$format = $size[2]; //1 = GIF, 2 = JPG, 3 = PNG, 5 = PSD, 6 = BMP
$currthumbfile = "./" . $thumb_dir . "/" . $thumb_prefix . $currfile;
if (! file_exists($currthumbfile))
{
//GIF format is not supported anymore by GD lib...
if ($format == 2) //JPG
$im = imagecreatefromjpeg($currfile);
else if ($format == 3) //PNG
$im = imagecreatefrompng($currfile);
if (!$im)
{
$currthumbfile = $currfile;
}
else
{
Imagejpeg($im, $currthumbfile, $quality);
ImageDestroy($im);
}
}
$currfile = str_replace(" ","%20",$currfile); // Allow filenames with space characters
$currthumbfile = str_replace(" ","%20",$currthumbfile); // Allow filenames with space characters
echo "<A HREF=$scriptname?ishome=1&filename=$currfile WIDTH=160px HEIGHT=100px &filenumber=$nbfiles>\n ";
echo "<IMG WIDTH=160px HEIGHT=100px";
echo "<IMG SRC=$currthumbfile WIDTH=160px HEIGHT=100px";
$currfile = str_replace("%20"," ",$currfile); // Clean display of filenames with space characters
echo " alt=\"Enlarge $currfile\">\n";
$currfile = str_replace(" ","%20",$currfile); //Clean display of filenames with space characters
echo "</A>\n";
$counter++;
if ($counter == $columns)
{
$counter = 0;
echo "<P><P><BR>";
}
}
}
}
closedir($handle);
if ($ishome == 1)
{
echo "<P>\n";
$filename = str_replace(" ","%20",$filename); // Allow filenames with space characters
$filename = stripslashes($filename); // Allow filenames with ' characters
echo "<IMG SRC=$filename>\n ";
$display = str_replace("%20"," ",$filename); // Clean display of filenames with space characters
echo "<br><b> $display </b><br>";
echo "<P><BR>\n\n";
if ($filenumber != 1)
{
$prevnumber = $filenumber - 1;
$filestab[$prevnumber] = str_replace(" ","%20",$filestab[$prevnumber]); // Allow filenames with space characters
echo "[<A HREF=$scriptname?ishome=1&filename=$filestab[$prevnumber]&filenumber=$prevnumber>";
echo " << Precedent</A>] \n";
}
echo " [<A HREF=$scriptname>Accueil Galerie</A>] \n";
echo " \n" ;
if ($filenumber != $nbfiles)
{
$nextnumber = $filenumber + 1;
$filestab[$nextnumber] = str_replace(" ","%20",$filestab[$nextnumber]); // Allow filenames with space characters
echo "[<A HREF=$scriptname?ishome=1&filename=$filestab[$nextnumber]&filenumber=$nextnumber>";
echo "Suivant >></A>]\n";
echo "<html>\n<head>\n<meta http-equiv='Refresh' content='10;URL=$scriptname?ishome=1&filename=$filestab[$nextnumber]&filenumber=$nextnumber'>\n</head>\n";
}
echo "\n\n";
}
?>
Merci pour votre aide éventuelle !
En gros : j'aimerai
1 : faire en sorte que les miniatures ne soient pas déformées
2 : Que les images s'ouvrent dans une shadowbox
Merci encore