102 lines
2.4 KiB
PHP
102 lines
2.4 KiB
PHP
|
<?
|
||
|
/**
|
||
|
*Fichier image.php
|
||
|
* Ce fichier contient les classe de gestion d'upload des images
|
||
|
* Il est a inclure dans votre script avec l'instruction includePackage(upload.php)
|
||
|
*@author Olivier Devaine
|
||
|
*@since 2004/11/02
|
||
|
*@version 1.1
|
||
|
*@copyright GPL
|
||
|
*@package package
|
||
|
*/
|
||
|
if ( !defined('SYSTEM_IN') )
|
||
|
{
|
||
|
die("Hacking attempt");
|
||
|
}
|
||
|
|
||
|
includePackage("upload.php");
|
||
|
|
||
|
/**
|
||
|
* Classe imageToDb
|
||
|
*
|
||
|
* Permet la gestion des upload dans une bd<br/>
|
||
|
* Le fichier est a inclure dans votre script avec l'instruction includePackage(upload.php)
|
||
|
*@package package
|
||
|
*@subpackage file
|
||
|
*/
|
||
|
class ImageUploadToDir extends UploadToDir
|
||
|
{
|
||
|
|
||
|
/**#@+
|
||
|
*@access private
|
||
|
*/
|
||
|
|
||
|
|
||
|
/**#@-*/
|
||
|
|
||
|
/**
|
||
|
* makeThumbs actuellement la methode n'est prevue que pour la creation de thumbs lors de l'upload de l'image...
|
||
|
*@access public
|
||
|
*@param integer largeur max
|
||
|
*@param integer hauteur max
|
||
|
*@return booleen
|
||
|
*/
|
||
|
function makeThumbs($key, $path, $longest_side = 120)
|
||
|
{
|
||
|
$prefixe=(!defined("DATA_ACCES_TABLE_PREFIX"))?"": DATA_ACCES_TABLE_PREFIX ;
|
||
|
|
||
|
# code de creation de la thumbs -> recuperation du path du fichier...
|
||
|
$finalPath = $GLOBALS["CONF_DATA_PATH"]."data/upload/thumbs/thumbs-".$key."-".$longest_side.".png";
|
||
|
|
||
|
if (file_exists($path))
|
||
|
{
|
||
|
switch (strtolower($this->extentionFinder($path))) {
|
||
|
case "png": {
|
||
|
$im = imagecreatefrompng($path);
|
||
|
break;
|
||
|
}
|
||
|
case "jpg":
|
||
|
case "pjpeg":
|
||
|
case "jpeg":
|
||
|
case "jpe": {
|
||
|
$im = imagecreatefromjpeg($path);
|
||
|
break;
|
||
|
}
|
||
|
case "gif": {
|
||
|
$im = imagecreatefromgif($path);
|
||
|
break;
|
||
|
}
|
||
|
default: {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
// some smart sizing
|
||
|
list($img_w, $img_h) = getimagesize($path);
|
||
|
if ($img_w > $img_h) {
|
||
|
// longest side is width: use that to calc thumb size
|
||
|
$thumb_w = $longest_side;
|
||
|
$thumb_h = (int)($longest_side * ($img_h / $img_w));
|
||
|
} else {
|
||
|
// longest side is height: use that to calc thumb size
|
||
|
$thumb_h = $longest_side;
|
||
|
$thumb_w = (int)($longest_side * ($img_w / $img_h));
|
||
|
}
|
||
|
$tim = imagecreatetruecolor($thumb_w, $thumb_h);
|
||
|
imagecopyresized($tim, $im, 0, 0, 0, 0, $thumb_w, $thumb_h, $img_w, $img_h);
|
||
|
imagepng($tim, $finalPath);
|
||
|
imagedestroy($im);
|
||
|
imagedestroy($tim);
|
||
|
return true;
|
||
|
} else {
|
||
|
$systemError=3;
|
||
|
$classe="Image";
|
||
|
$message="Chemin d'image incorrect";
|
||
|
addError($systemError,$classe,$message, __line__, __file__);
|
||
|
return false;
|
||
|
//die();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
?>
|