[PHP] probleme #Ressource #Fichier sur manip image

probleme #Ressource #Fichier sur manip image [PHP] - PHP - Programmation

Marsh Posté le 18-05-2014 à 10:24:56    

Code :
  1. $allowedExts = array("bmp", "BMP", "jpg", "JPG", "jpeg", "JPEG", "png", "PNG", "ico", "ICO", "tiff", "TIFF", "tif", "TIF" );
  2. $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
  3. if (
  4.     (($_FILES["file"]["type"] == "image/jpeg" ) ||
  5.     ($_FILES["file"]["type"] == "image/pjpeg" ) ||
  6.     ($_FILES["file"]["type"] == "image/png" ) ||
  7.     ($_FILES["file"]["type"] == "image/x-png" ) ||
  8.     ($_FILES["file"]["type"] == "image/tiff" ) ||
  9.     ($_FILES["file"]["type"] == "image/vnd.microsoft.icon" ) ||
  10.     ($_FILES["file"]["type"] == "image/bmp" ) ||
  11.     ($_FILES["file"]["type"] == "image/x-ms-bmp" ) ||
  12.     ($_FILES["file"]["type"] == "image/gif" ))
  13.      && ($_FILES["file"]["size"] < 8500000) && in_array($extension, $allowedExts)
  14. )
  15.   {
  16.   if ($_FILES["file"]["error"] > 0)
  17.     {
  18.     echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
  19.     }
  20.   else
  21.     {
  22. $img_src_resource = imagecreatefromstring(file_get_contents($_FILES["file"]['tmp_name']));
  23. $exif = exif_read_data($_FILES["file"]["tmp_name"],0,true);
  24. foreach ($exif as $key => $section)
  25. {
  26. foreach ($section as $name => $val)
  27.  {
  28.  if ( ($name == "Height" ) &&  (gettype($val) == "integer" )  )
  29.   {
  30.   $height = $val;
  31.   }
  32.  if ( ($name == "Width" ) &&  (gettype($val) == "integer" )  )
  33.   {
  34.   $width = $val;
  35.   }
  36.  if ($name == "Orientation" )
  37.   {
  38.    unset($tourner);
  39.    switch($val)
  40.    {
  41.    case 8:// renvoyé quand iphone tête en bas
  42.     $tourner="180";
  43.     break;
  44.    case 3:// renvoyé quand iphone tourné à droite de 90°
  45.     $tourner="90";
  46.     break;
  47.    case 6:// renvoyé par iphone en position tete en haut
  48.     $tourner="00";
  49.     break;
  50.    case 1:// renvoyé par iphone tourné à gauche de 90°
  51.     $tourner="-90";
  52.     break;
  53.    }
  54.   }
  55.  }
  56. }
  57. $thumb = imagecreate($width, $height);
  58. if (isset($tourner))
  59. {
  60. switch($tourner)
  61.  {
  62.  case "00":
  63.   $thumb = imagerotate($thumb,45,0);
  64.   break;
  65.  case "90":
  66.   $thumb = imagerotate($thumb,135,0);
  67.   break;
  68.  case "-90":
  69.   $thumb = imagerotate($thumb,-45,0);
  70.   break;
  71.  case "180":
  72.   $thumb = imagerotate($thumb,135,0);
  73.   break;
  74.  case "-180":
  75.   $thumb = imagerotate($thumb,-135,0);
  76.   break;
  77.  }
  78. }
  79. $thumb = imagerotate($thumb,-135,0);
  80. $dossier = 'users/'.......'/images/';
  81. $fichier = $dossier.time().$_FILES['file']['name'];
  82. $fichier = strtolower($fichier);
  83. 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
Reply

Marsh Posté le 18-05-2014 à 10:24:56   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed