Extention d'une image uploadée

Bonjour,

j'ai un petit problême, je cherche a uploadé un image sur mon serveur mais, l'upload est un echec et en rentrant son nom dans la base de donnée il y a son nom mais pas l'extention.

P.S. Je nome mes images avec le timestamp...

Voici mon code :

______________________________________________
 
$extension = strrchr($_FILES['image']['name'], '.');
$nomimage = ''.time().'';
$nomimagecomplete = ''.$nomimage.''.$extension.'';

echo $nomimagecomplete;
_____________________________________________

donc pour simplifier la je fait que l'affichage avec un echo mais sa m'affiche que par exemple 1273453234 et non 127345231.jpg

pourriez vous m'aidez à voir am faute par ce que sa fait depuis hier soir que je cherche l'erreur ou m'enseigner une news technique pour récupérer l'extention d'une image uploadée...

Merci à vous Nom supprimé Modération CCM



Bats-toi avec les meilleurs..
.. et crèves avec les autres

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut.

    Pour récupérer l'extension propre, je te conseil d'utiliser la fonction pathinfo() sur $_FILES['image']['name'].
    $infos = pathinfo($_FILES['image']['name']);
    $extension = $infos['extension'];


    Pour éviter qu'une personne mal-intentionnée uploade autre chose qu'une image, il ne suffit pas de vérifier l'extension, mais il faut aussi vérifier le type MIME.
    1. Je retiens pour le MIME mais ici c'est dans ma partie admin, c une simple vérification si je ne me suis pas tromper sur le fichier =D
      1. '0o sa ne marche pas

        je mets
        $infos = pathinfo($_FILES['image']['name']);
        $extension = $infos['extension'];
        $nomimage = time();
        $nomimagecomplete = $nomimage.$extension;

        echo $nomimagecomplete;


        sa m'affiche "1280005767"
        1. La variable $extension est censée ne contenir que l'extension, sans le point.
          Autre chose : je ne vois pas l'intérêt d'écrire le timestamp dans $nomimage : c'est plus long.

          $infos = pathinfo($_FILES['image']['name']);
          $extension = $infos['extension'];
          $nom = time().'.'.$extension;
          
          echo $nom;


          Avant "$infos = pathinfo(...);", ajoute ceci :
          var_dump($_FILES['image']);
          var_dump($_FILES['image']['name']);