Extention d'une image uploadée

aurus1212 -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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.
    0
  2. aurus1212
     
    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
    0
  3. aurus1212
     
    '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"
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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']);
    0