%PDF- %PDF-
Direktori : /home/devcapijob/public_html/gestion/liberary/ |
Current File : /home/devcapijob/public_html/gestion/liberary/uploadify.php |
<?php /* Uploadify Copyright (c) 2012 Reactive Apps, Ronnie Garcia Released under the MIT License <http://www.opensource.org/licenses/mit-license.php> */ // Define a destination //$targetFolder = '../../files_perso/galeries/big/'; // Relative to the root $targetFolder = $_POST['folder'].'big/'; $targetFolderSmall = $_POST['folder'].'small/'; $targetFolderMedium = $_POST['folder'].'medium/'; define('MAX_WIDTH_BIG',$_POST['bw']); define('MAX_HEIGHT_BIG',$_POST['bh']); define('MAX_WIDTH_SMALL',$_POST['sw']); define('MAX_HEIGHT_SMALL',$_POST['sh']); define('MAX_WIDTH_MEDIUM',$_POST['mw']); define('MAX_HEIGHT_MEDIUM',$_POST['mh']); if (!empty($_FILES)) { $fichier = $_FILES['Filedata']; $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $targetFolder; $name_part = explode('.',$_FILES['Filedata']['name']); if($name_part!=0){ $ext = $name_part[count($name_part)-1];} $name = 'img_'.randomname().'.'.$ext; $targetFile = rtrim($targetPath,'/') . '/' . $name; // Validate the file type $fileTypes = array('JPG','JPEG','jpg','jpeg','gif','png'); // File extensions $fileParts = pathinfo($_FILES['Filedata']['name']); if (in_array($fileParts['extension'],$fileTypes)) { if(move_uploaded_file($tempFile,$targetFile)){ $imgsize=getimagesize($targetFolder.$name); fctredimimage(MAX_WIDTH_BIG,MAX_HEIGHT_BIG, $targetFolder, $name, $targetFolder, $name); if($imgsize[0]>MAX_WIDTH_SMALL || $imgsize[1]>MAX_HEIGHT_SMALL){ fctredimimage(MAX_WIDTH_SMALL, MAX_HEIGHT_SMALL, $targetFolderSmall, $name, $targetFolder, $name); }else{ copy($targetFolder.$name,$targetFolderSmall.$name); } if($imgsize[0]>MAX_WIDTH_MEDIUM || $imgsize[1]>MAX_HEIGHT_MEDIUM){ fctredimimage(MAX_WIDTH_MEDIUM, MAX_HEIGHT_MEDIUM,$targetFolderMedium, $name, $targetFolder, $name); }else{ copy($targetFolder.$name,$targetFolderMedium.$name); } echo $name; } } else { echo 'Type de fichier invalide.'; } } function fctredimimage($W_max, $H_max, $rep_Dst, $img_Dst, $rep_Src, $img_Src) { // ------------------------------------------------------------------ $condition = 0; // Si certains parametres ont pour valeur '' : if ($rep_Dst == '') { $rep_Dst = $rep_Src; } // (meme repertoire) if ($img_Dst == '') { $img_Dst = $img_Src; } // (meme nom) // ------------------------------------------------------------------ // si le fichier existe dans le répertoire, on continue... if (file_exists($rep_Src.$img_Src) && ($W_max!=0 || $H_max!=0)) { // ---------------------------------------------------------------- // extensions acceptees : $ExtfichierOK = '" jpg jpeg png"'; // (l espace avant jpg est important) // extension fichier Source $tabimage = explode('.',$img_Src); $extension = $tabimage[sizeof($tabimage)-1]; // dernier element $extension = strtolower($extension); // on met en minuscule // ---------------------------------------------------------------- // extension OK ? on continue ... if (strpos($ExtfichierOK,$extension) != '') { // ------------------------------------------------------------- // recuperation des dimensions de l image Src $img_size = getimagesize($rep_Src.$img_Src); $W_Src = $img_size[0]; // largeur $H_Src = $img_size[1]; // hauteur // ------------------------------------------------------------- // condition de redimensionnement et dimensions de l image finale // ------------------------------------------------------------- // A- LARGEUR ET HAUTEUR maxi fixes if ($W_max != 0 && $H_max != 0) { $ratiox = $W_Src / $W_max; // ratio en largeur $ratioy = $H_Src / $H_max; // ratio en hauteur $ratio = max($ratiox,$ratioy); // le plus grand $W = $W_Src/$ratio; $H = $H_Src/$ratio; $condition = ($W_Src>$W) || ($W_Src>$H); // 1 si vrai (true) } // ------------------------------------------------------------- // B- HAUTEUR maxi fixe if ($W_max == 0 && $H_max != 0) { $H = $H_max; $W = $H * ($W_Src / $H_Src); $condition = $H_Src > $H_max; // 1 si vrai (true) } // ------------------------------------------------------------- // C- LARGEUR maxi fixe if ($W_max != 0 && $H_max == 0) { $W = $W_max; $H = $W * ($H_Src / $W_Src); $condition = $W_Src > $W_max; // 1 si vrai (true) } // ------------------------------------------------------------- // on REDIMENSIONNE si la condition est vraie // ------------------------------------------------------------- // Par defaut : // Si l'image Source est plus petite que les dimensions indiquees : // PAS de redimensionnement. // Mais on peut "forcer" le redimensionnement en ajoutant ici : // $condition = 1; if ($condition == 1) { // ---------------------------------------------------------- // creation de la ressource-image "Src" en fonction de l extension switch($extension) { case 'jpg': case 'jpeg': $Ress_Src = imagecreatefromjpeg($rep_Src.$img_Src); break; case 'png': $Ress_Src = imagecreatefrompng($rep_Src.$img_Src); break; } // ---------------------------------------------------------- // creation d une ressource-image "Dst" aux dimensions finales // fond noir (par defaut) switch($extension) { case 'jpg': case 'jpeg': $Ress_Dst = imagecreatetruecolor($W,$H); break; case 'png': $Ress_Dst = imagecreatetruecolor($W,$H); // fond transparent (pour les png avec transparence) imagesavealpha($Ress_Dst, true); $trans_color = imagecolorallocatealpha($Ress_Dst, 0, 0, 0, 127); imagefill($Ress_Dst, 0, 0, $trans_color); break; } // ---------------------------------------------------------- // REDIMENSIONNEMENT (copie, redimensionne, re-echantillonne) imagecopyresampled($Ress_Dst, $Ress_Src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src); // ---------------------------------------------------------- // ENREGISTREMENT dans le repertoire (avec la fonction appropriee) switch ($extension) { case 'jpg': case 'jpeg': imagejpeg ($Ress_Dst, $rep_Dst.$img_Dst); break; case 'png': imagepng ($Ress_Dst, $rep_Dst.$img_Dst); break; } // ---------------------------------------------------------- // liberation des ressources-image imagedestroy ($Ress_Src); imagedestroy ($Ress_Dst); } // ------------------------------------------------------------- } } // --------------------------------------------------------------- // si le fichier a bien ete cree if ($condition == 1 && file_exists($rep_Dst.$img_Dst)) { return true; } else { return false; }} function randomname($lenth =5) { $aZ09 = range(0, 9); $out =''; for($c=0;$c < $lenth;$c++) { $out .= $aZ09[mt_rand(0,count($aZ09)-1)]; } return $out; } ?>