Hi all,
I have mad a script that uses GD librairies to create thumbs of original images. The problem is all works fine local, but my ISP does not have GD 2.0 librairies.
How could I convert this script to use NetPBM binaries instead.
Thanks for your reply.
Here is the script.
<?
//
// MonAlbum
// version 0.1
// author: Nelson Pereira - [url]www.npereira.com[/url]
//
//Vous pouvez configurer ces parametre
//
// DEBUT DE SECTION PARAMETRABLE
$mon_album = "Album créer par le system MonAlbum"; // Titre de la page
$colone = 4; //nombre de colone dans la page
$ratio = 5; //ratio de la grandeur d'image et de la thumb
$qualité = 5; //qualité de l'image thumb (0: médiocre à 100: supérieur)
$nomduscript = "photo.php"; //nom de ce fichier script
$dossier_thumb = "thumb"; //nom du dossier a créer
$préfix_thumb = "thb_"; //préfix de l'image crée
//emplacement de NetPBM
$path_to_netpbm = "/usr/local/psa/home/vhosts/lesharfangsdegatineau.com/httpdocs/netpbm/";
$to_pnm = $GLOBALS['path_to_netpbm'] . "jpegtopnm";
$scale = $GLOBALS['path_to_netpbm'] . "pnmscale";
$to_jpeg = $GLOBALS['path_to_netpbm'] . "pnmtojpeg";
// FIN DE LA SECTION PARAMETRABLE
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";
$mon_dossier = '.'; // dossier ou les images sont procurée
$counter=0;
$nbfiles = 0;
$currfile = "";
$fichier[0] = "";
$handle=opendir($mon_dossier);
//créer le dossier des images thumb
if (!is_dir($dossier_thumb))
{
mkdir($dossier_thumb, 0755);
}
while ($currfile = readdir($handle))
{
// Nous cherchons l'extention des fichier et gardons seulement les fichier images
$extension= strtolower(substr( strrchr( $currfile, "." ), 1 ));
if ($extension== "gif" || $extension== "jpg" || $extension== "jpeg" ||
$extension== "png")
{
$nbfiles++;
$currfile = trim($currfile);
$fichier[$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 = "./" . $dossier_thumb . "/" . $préfix_thumb . $currfile;
if (! file_exists($currthumbfile))
{
//format GIF format n'est plus supporter pa la librairie GD...
if ($format == 2) //JPG
$im = imagecreatefromjpeg($currfile);
else if ($format == 3) //PNG
$im = imagecreatefrompng($currfile);
if (!$im)
{
$currthumbfile = $currfile;
}
else
{
Imagejpeg($im, $currthumbfile, $qualité);
ImageDestroy($im);
}
}
$currfile = str_replace( " ", "%20",$currfile); // Pour que les noms avec espaces soient valides
$currthumbfile = str_replace( " ", "%20",$currthumbfile); // Pour que les noms avec espaces soient valides
echo "<A HREF=$scriptname?ishome=1&filename=$currfile&filenumber=$nbfiles>\n";
echo "<IMG SRC=$currthumbfile WIDTH=$width HEIGHT=$height";
$currfile = str_replace( "%20", " ",$currfile); // Pour que l'affichage des espaces soit "propre"
echo " alt=\"L'originale de $currfile\">\n";
$currfile = str_replace( " ", "%20",$currfile); //pour que les noms avec espaces soient valides
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); // Pour que les noms avec espaces soient valides
$filename = stripslashes($filename); // Pour que les noms avec APOSTROPHES soient valides
echo "<IMG SRC=$filename>\n";
$affichage = str_replace( "%20", " ",$filename); // Pour que l'affichage des espaces soit "propre"
echo "<br><b> $affichage </b><br>";
echo "<P><BR>\n\n";
if ($fichiernum != 1)
{
$numeroprec = $fichiernum - 1;
$fichier[$numeroprec] = str_replace( " ", "%20",$fichier[$numeroprec]); // Pour que les noms avec espaces soient valides
echo "[<A HREF=$nomduscript?ishome=1&filename=$fichier[$numeroprec]&fichiernum=$numeroprec>";
echo " << Précédant</A>] \n";
}
echo " [<A HREF=$nomduscript>Page Principale</A>] \n";
echo " \n" ;
if ($fichiernum != $nbfiles)
{
$numeroproc = $fichiernum + 1;
$fichier[$numeroproc] = str_replace( " ", "%20",$fichier[$numeroproc]); // Pour que les noms avec espaces soient valides
echo "[<A HREF=$nomduscript?ishome=1&filename=$fichier[$numeroproc]&fichiernum=$numeroproc>";
echo "Prochain >></A>]\n";
}
echo "\n\n";
}
?>
<P><P><P><P><HR>
Généré par <A HREF=http://www.npereira.com target="_top">MonAlbum : Album photo simple</A>
</center>
</html>