File manager - Edit - /home/missmand/public_html/learning/lib/class/Upload.class.php
Back
<?php class Upload{ /* Verifier l'extention d'un fichier */ public static function verifExt($nom, $fichier, $extTrue){ global $erreur; $ext = strtolower(pathinfo($fichier, PATHINFO_EXTENSION)); if(!in_array($ext,$extTrue)){ array_push($erreur,$nom.verifExtErreur); } } /* Restriction de la taille de l'image à une taille minimum */ public static function tailleMini ($nom, $tmp, $x, $y){ global $erreur; $taille = getimagesize($tmp); $width = $taille[0]; $height = $taille[1]; if( ($height < $y) || ($width < $x) ){ array_push($erreur,$nom.tailleMiniErreur1.$x.tailleMiniErreur2.$y.tailleMiniErreur3); } } /* Restriction de la taille de l'image à une taille maximum */ public static function tailleMax ($nom, $tmp, $x, $y){ global $erreur; $taille = getimagesize($tmp); $width = $taille[0]; $height = $taille[1]; if( ($height > $y) || ($width > $x) ){ array_push($erreur,$nom.tailleMaxiErreur1.$x.tailleMaxiErreur2.$y.tailleMaxiErreur3); } } /* Restriction de la taille de l'image à une taille égale */ public static function tailleEgale ($nom, $tmp, $x, $y){ global $erreur; $taille = getimagesize($tmp); $width = $taille[0]; $height = $taille[1]; if( ($height != $y) || ($width != $x) ){ array_push($erreur,$nom.tailleEgaleErreur1.$x.tailleEgaleErreur2.$y.tailleEgaleErreur3); } } /* Verification du poid de l'image */ public static function maxPoid ($nom, $fichier, $poid){ global $erreur; if($fichier > $poid){ $erreurPoid = ($poid / 1000000); array_push($erreur,$nom.maxPoidErreur1.$erreurPoid.maxPoidErreur2); } } /* Upload d'un fichier */ // Arg 1 : Le fichier 'array' // Arg 2 : Le nom 'string' // Arg 3 : Le poid maximum 'int' // Arg 4 : Les extensions autorisées 'array' // Arg 5 : la taille 'array' public static function postFichier($fichier, $nom, $poid, $ext, $taille = array()){ self::maxPoid($nom, $fichier['tmp_name'], $poid); self::verifExt($nom, $fichier['name'], $ext); if(!empty($taille)){ switch ($taille[0]) { case "eg": self::tailleEgale($nom, $fichier['tmp_name'], $taille[1],$taille[2]); break; case "ma": self::tailleMax($nom, $fichier['tmp_name'], $taille[1],$taille[2]); break; case "mi": self::tailleMini($nom, $fichier['tmp_name'], $taille[1],$taille[2]); break; } } return time().'.'.strtolower(pathinfo($fichier['name'], PATHINFO_EXTENSION)); } /* Création d'une miniature Jpg, jpeg */ public static function miniatureJpg ($ratio, $tmp, $ext, $dossier){ $time = time(); $taille = getimagesize($tmp); $width = $taille[0]; $height = $taille[1]; // 16/9 if($taille[0] > $taille[1]) { $largeur = round(($ratio/$taille[1])*$taille[0]); $hauteur = $ratio; } // 4/3 if ($taille[0] == $taille[1]){ $largeur = $ratio; $hauteur = $ratio; } $fichierSource = imagecreatefromjpeg($tmp); $img_ressource = imagecreatetruecolor($largeur,$hauteur); imagecopyresampled($img_ressource,$fichierSource,0,0,0,0,$largeur,$hauteur,$width,$height); imagejpeg($img_ressource, $dossier.$time.'.'.$ext); } /* Création d'une miniature png */ public static function miniaturePng ($ratio, $tmp, $ext, $dossier){ $time = time(); $taille = getimagesize($tmp); $width = $taille[0]; $height = $taille[1]; // 16/9 if($taille[0] > $taille[1]) { $largeur = round(($ratio/$taille[1])*$taille[0]); $hauteur = $ratio; } // 4/3 if ($taille[0] == $taille[1]){ $largeur = $ratio; $hauteur = $ratio; } $fichierSource = imagecreatefrompng($tmp); $img_ressource = imagecreatetruecolor($largeur,$hauteur); imagealphablending($img_ressource,false); imagesavealpha($img_ressource,true); imagecopyresampled($img_ressource,$fichierSource,0,0,0,0,$largeur,$hauteur,$width,$height); imagepng($img_ressource, $dossier.$time.'.'.$ext); } /* Croper une image au format jpg, jpeg */ public static function cropJpg ($tmp, $w, $h, $x1, $y1, $x2, $y2, $dossier){ $time = time(); $ext = pathinfo($tmp, PATHINFO_EXTENSION); $image = $time.'.'.strtolower($ext); $taille = getimagesize($tmp); $width = $taille[0]; $height = $taille[1]; if($width > 600){ $ratio = 600/$width; $w=($x2-$x1)/$ratio; $h=($y2-$y1)/$ratio; $x1=$x1/$ratio; $y1=$y1/$ratio; } $nouvelle = imagecreatetruecolor($w,$h); $source = imagecreatefromjpeg($tmp); imagecopyresampled($nouvelle,$source,0,0,$x1,$y1,$width,$height,$width,$height); imagejpeg($nouvelle, $dossier.$image,60); return $image; } /* Croper une image au format png */ public static function cropPng ($tmp, $w, $h, $x1, $y1, $x2, $y2, $dossier){ $time = time(); $ext = pathinfo($tmp, PATHINFO_EXTENSION); $image = $time.'.'.strtolower($ext); $taille = getimagesize($tmp); $width = $taille[0]; $height = $taille[1]; if($width > 600){ $ratio = 600/$width; $w=($x2-$x1)/$ratio; $h=($y2-$y1)/$ratio; $x1=$x1/$ratio; $y1=$y1/$ratio; } $nouvelle = imagecreatetruecolor($w,$h); $source = imagecreatefrompng($tmp); imagealphablending($nouvelle,false); imagesavealpha($nouvelle,true); imagecopyresampled($nouvelle,$source,0,0,$x1,$y1,$width,$height,$width,$height); imagepng($nouvelle, $dossier.$image,6); return $image; } } ?>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings