Bonjour à tous !

Je cherche à mettre en place un upload d'image pour un blog, j'ai donc essayé en suivant les tutos disponible sur internet mais je n'arrive à en faire fonctionner aucun, auriez-vous une solution s'ils vous plaît.

merci d'avance.

9 réponses


gars_et_temps
Auteur
Réponse acceptée

Bonsoir

Lartak, non je n'y ai pas pensé merci du conseil.
Carouge10, l'image ne va pas dans le dossier sélectionné

Bonsoir.
As-tu essayé de debugger tes codes pour voir d'où pouvait venir les problèmes/dysfonctionnements ?

Bonsoir,
Qu'est ce qui ne fonctionne pas ? L'envoi de l'image? La vérificaion des l'image... ?

Vous travaillez en local ou en distant ?

Je travail actuellement en local, le script seul fonctionne mais quand je l'ajoute à un autre (un formulaire de mofidication de profile) cette partie ne fonctionne plus

Le code du formulaire et celui du traitement nous aiderais.

Le premier script est la partie seule qui fonctionne très bien, le second est une partie de mon script de profil qui est trop long donc je ne le met pas entièrement
premiere :

    $content_dir = 'upload/'; // dossier où sera déplacé le fichier
    $tmp_file = $_FILES['fichier']['tmp_name'];
    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }
    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];
    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }
    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];
    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }
    echo "Le fichier a bien été uploadé";

Second :

if(isset($_POST['update'])){
           $content_dir = 'upload/'; // dossier où sera déplacé le fichier
           $tmp_file = $_FILES['fichier']['tmp_name'];
           if( !is_uploaded_file($tmp_file) )
           {
               exit("Le fichier est introuvable");
           }
           // on vérifie maintenant l'extension
           $type_file = $_FILES['fichier']['type'];
           if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
           {
               exit("Le fichier n'est pas une image");
           }
           // on copie le fichier dans le dossier de destination
           $name_file = $_FILES['fichier']['name'];
           if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
           {
               exit("Impossible de copier le fichier dans $content_dir");
           }
           echo "Le fichier a bien été uploadé";
           if(not_empty(['name'])){

                    extract($_POST);

Avez-vous vérifier s'il n'y avais pas une erreur avec le transfert avec $_FILES['fichier']['error'] ?

Salut @gars_et_temps,

@sudovim +1

Sinon tu as peut-etre un soucis au niveau des permissions d'écriture dans le dossier upload/, il te faudra vérifier (ça arrive de temps en temps). Sinon, est-ce que PHP te retourne une erreur quelconque ? As-tu vérifié les logs d'erreurs PHP & Apache ?
Il se peut aussi que $_FILES soit vide.