erwan83 Du Shift DEL tu te méfieras ! | Code :
- $allowedExts = array("bmp", "BMP", "jpg", "JPG", "jpeg", "JPEG", "png", "PNG", "ico", "ICO", "tiff", "TIFF", "tif", "TIF" );
- $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
- if (
- (($_FILES["file"]["type"] == "image/jpeg" ) ||
- ($_FILES["file"]["type"] == "image/pjpeg" ) ||
- ($_FILES["file"]["type"] == "image/png" ) ||
- ($_FILES["file"]["type"] == "image/x-png" ) ||
- ($_FILES["file"]["type"] == "image/tiff" ) ||
- ($_FILES["file"]["type"] == "image/vnd.microsoft.icon" ) ||
- ($_FILES["file"]["type"] == "image/bmp" ) ||
- ($_FILES["file"]["type"] == "image/x-ms-bmp" ) ||
- ($_FILES["file"]["type"] == "image/gif" ))
- && ($_FILES["file"]["size"] < 8500000) && in_array($extension, $allowedExts)
- )
- {
- if ($_FILES["file"]["error"] > 0)
- {
- echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
- }
- else
- {
- $img_src_resource = imagecreatefromstring(file_get_contents($_FILES["file"]['tmp_name']));
- $exif = exif_read_data($_FILES["file"]["tmp_name"],0,true);
- foreach ($exif as $key => $section)
- {
- foreach ($section as $name => $val)
- {
- if ( ($name == "Height" ) && (gettype($val) == "integer" ) )
- {
- $height = $val;
- }
- if ( ($name == "Width" ) && (gettype($val) == "integer" ) )
- {
- $width = $val;
- }
- if ($name == "Orientation" )
- {
- unset($tourner);
- switch($val)
- {
- case 8:// renvoyé quand iphone tête en bas
- $tourner="180";
- break;
- case 3:// renvoyé quand iphone tourné à droite de 90°
- $tourner="90";
- break;
- case 6:// renvoyé par iphone en position tete en haut
- $tourner="00";
- break;
- case 1:// renvoyé par iphone tourné à gauche de 90°
- $tourner="-90";
- break;
- }
- }
- }
- }
- $thumb = imagecreate($width, $height);
- if (isset($tourner))
- {
- switch($tourner)
- {
- case "00":
- $thumb = imagerotate($thumb,45,0);
- break;
- case "90":
- $thumb = imagerotate($thumb,135,0);
- break;
- case "-90":
- $thumb = imagerotate($thumb,-45,0);
- break;
- case "180":
- $thumb = imagerotate($thumb,135,0);
- break;
- case "-180":
- $thumb = imagerotate($thumb,-135,0);
- break;
- }
- }
- $thumb = imagerotate($thumb,-135,0);
- $dossier = 'users/'.......'/images/';
- $fichier = $dossier.time().$_FILES['file']['name'];
- $fichier = strtolower($fichier);
- imagecopy($thumb,$img_src_resource, 0, 0, 0, 0, $width, $height);
|
Bonjour. Le problème qui se pose à moi: j'uploade une photo mais je n'arrive pas à "jouer" sur la ressource. on dirait que la photo va directement se stocker sans tourner si besoin.
en fait aucune manip n'est effectuée. Pourriez-vous m'expliquer où je me plante, sachant que je veux redresser les images issues d'appareils numériques.
Merci.
PS j'ai déjà consulté toutes les pages de php.net... Message édité par erwan83 le 18-05-2014 à 10:26:44
|