[php]imagecreatefromXX

WRInaute discret
bonjour
je suis en train de monté un script d'upload pour image!
je but sur la forme, dans mon script car lors d'un soumission d'image je cré une miniature de l'image!

voilà j'utilise un array ou est contenu toute les extensions possibles

array('bmp' ,'jpg' ,'gif' ,'png' ,'tif' ,'wbmp' )

j'aimerais donc par consequent pouvoir avoir imagecreatefrompng si l'extension de l'image est .png, imagecreatefromwbmp si l'extension est .wbmp ...
et la je coince, tout comme également pour la fonction imageXXX qui permet d'enregistrer l'image à la fin!
j'aimerais également l'adapter!
merci
 
WRInaute passionné
Il faut que tu teste le format de ton image avec getimagesize()

Code:
getimagesize() retourne un tableau de 4 éléments. L'index 0 contient la largeur. L'index 1 contient la longueur. L'index 2 contient le type de l'image : 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (Ordre des octets Intel), 8 = TIFF (Ordre des octets Motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF. Ces valeurs correspondent aux constantes IMAGETYPE qui ont été ajoutées en PHP 4.3. L'index 3 contient la chaîne à placer dans les balises IMG : height="xxx" width="yyy".

puis, avec un switch ... case tu traites selon s'il s'agit d'une bmp, jpg, gif...
 
WRInaute occasionnel
Code:
if(isset($_FILES['fichier1']))
{
  // params
  unset($erreur);
  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'psd', 'eps', 'bmp');
  $taille_max = 100000;
  $dest_dossier = '/uploadedimages/';
  // vérifications
  if( !in_array( substr(strrchr($_FILES['fichier1']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = 'Veuillez sélectionner un fichier 1 de type png, eps, psd, gif, ou jpg !';
  }
  elseif( file_exists($_FILES['fichier1']['tmp_name'])
  and filesize($_FILES['fichier1']['tmp_name']) > $taille_max)
  {
    $erreur = 'Votre fichier 1 doit faire moins de 500Ko !';
  }
  // copie du fichier
  if(!isset($erreur))
  {
    $dest_fichier = basename($_FILES['fichier1']['name']);
    // formatage nom fichier
    // enlever les accents
    $dest_fichier = strtr($dest_fichier,
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    // remplacer les caracteres autres que lettres, chiffres et point par _
    $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
    // copie du fichier
    move_uploaded_file($_FILES['fichier1']['tmp_name'], $dest_dossier . $usr_id.'_'.$dest_fichier);
  }
}
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut