102 lines
2.4 KiB
PHP
Executable File
102 lines
2.4 KiB
PHP
Executable File
<?
|
|
/**
|
|
*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();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
?>
|