1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
$pointeur = "Filedata";
$nomDestination = $this->param("name");
if ( strlen ( $nomDestination ) > 5 ) {
$extension = substr ( $nomDestination, strrpos ( $nomDestination, "." ) );
jLog::log('formulaire~upload:upload 1');
if ( $this->param("size") < $max_size ) {
jLog::log('formulaire~upload:upload 2');
if ( is_uploaded_file($_FILES[$pointeur]["tmp_name"]) ) {
jLog::log(' formulaire~upload:upload3'.$_FILES[$pointeur]["tmp_name"]);
if ( move_uploaded_file ( $_FILES[$pointeur]["tmp_name"], JELIX_APP_WWW_PATH.'upload/'.$nomDestination ) ) {
jLog::log(' formulaire~upload:upload4 :'.JELIX_APP_WWW_PATH.'upload/'.$nomDestination);
$rep->content = "";
} else {
$rep->content = "-104";
jLog::log('formulaire~upload:upload 5');
}
} else {
jLog::log('formulaire~upload:upload 6');
$rep->content = "-103";
}
} else {
jLog::log('formulaire~upload:upload 7');
$rep->content = "-101";
}
} else {
jLog::log('formulaire~upload:upload 8');
$rep->content = "";
}
/** redimensionnement de l'image si trop grande */
// Création d'une image lisible par PHP/GD pour le redimmensionnement
$img_new = imagecreatefromjpeg(JELIX_APP_WWW_PATH.'upload/'.$nomDestination );
// Tableau des tailles de l'image source
$size = getimagesize(JELIX_APP_WWW_PATH.'upload/'.$nomDestination );
$width_resize = $size[0];
$height_resize = $size[1];
jLog::log('formulaire~upload:upload width_resize Av While:'.$width_resize);
// Découpage dicotomique de l'image
while($width_resize > 2880 || $height_resize > 2880)
{
$width_resize = $width_resize/2;
$height_resize = $height_resize/2;
}
jLog::log('formulaire~upload:upload width_resize Après While:'.$width_resize);
// Redimensionnement ou non de l'image
if ($width_resize != $size[0])
{
// Création d'une image vide pour PHP
$img_mini = imagecreatetruecolor($width_resize, $height_resize);
if (!$img_mini)
{
jLog::log('formulaire~upload:upload imagecreatetruecolor:false');
}
// Le redimensionnnement
$bool = imagecopyresampled ($img_mini,$img_new,0,0,0,0,$width_resize,$height_resize,$size[0],$size[1]);
jLog::log('formulaire~upload:upload imagecopyresampled:'.$bool);
// Sauvegarde de l'image
$bool = imagejpeg($img_mini, JELIX_APP_WWW_PATH.'upload/redim_'.$nomDestination );
jLog::log('formulaire~upload:upload imagejpeg:'.$bool);
// Libère le pointeur vers l'image (permet le rename)
$bool = imagedestroy ($img_mini);
jLog::log('formulaire~upload:upload imagedestroy:'.$bool);
// Supprime l'image source
$bool = unlink(JELIX_APP_WWW_PATH.'upload/'.$nomDestination );
jLog::log('formulaire~upload:upload unlink:'.$bool);
// Renome l'image résultat vers
$bool = rename( JELIX_APP_WWW_PATH.'upload/redim_'.$nomDestination , JELIX_APP_WWW_PATH.'upload/'.$nomDestination );
jLog::log('formulaire~upload:upload rename:'.$bool);
}
$_SESSION['image_temp'] = 'upload/'.$nomDestination;
return ($rep); |
Partager