Partage
  • Partager sur Facebook
  • Partager sur Twitter

l'upload d'image m'affiche une erreur.

    12 mai 2006 à 18:58:50

    Bonjour à tous et à toutes

    Voila j'ai lu le tuto Lynkix sur l'upload d'image mais malheureusement il ne trouve pas le repertoire.
    Je reconnais que j'ai grillé les étapes car je ne suis pas encore au chapitre chmod normalement (il me reste le tp d'avant à faire) et j'ai copié/collé, le code. En fait je voudrais juste voir ce qu'il fait et si c'est ce que je veux je m'y interesserai pour le mettre à ma sauce.
    Bref cependant voila le code.
    <html>
    <head><title>Uploadez vos images!</title></head>
    <body>

    <?php
    $poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
    $repertoire = 'uploads/'; // Repertoire d'upload

    if (isset($_FILES['fichier']))
    {
       
       // On vérifit le type du fichier
       if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif')
       {
          $erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
       }
       
       // On vérifit le poids de l'image
       elseif ($_FILES['fichier']['size'] > $poids_max)
       {
          $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
       }
       
       // On vérifit si le répertoire d'
    upload existe
       elseif (!file_exists($repertoire))
       {
          $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';     
       }
       
       // Si il y a une erreur on l'affiche sinon on peut uploader
       if(isset($erreur))
       {
          echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
       }
       else
       {
             
          // On définit l'extention du fichier puis on le nomme par le timestamp actuel
          if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
          if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
          if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
          if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
          $nom_fichier = time().$extention;
                 
          // On upload le fichier sur le serveur.
          if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
          {
             $url = 'http://kevin39.free.fr/'.$repertoire.''.$nom_fichier.'';
             echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">';
          }
          else
          {
             echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
          }
         
       }
       
    }
    else
    {
       ?>
       <form method="post" enctype="multipart/form-data">
          <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
          <input type="file" name="fichier">
          <input type="submit" value="Envoyer">
       </form>
       <?php
    }
    ?>


    j'ai le message d'erreur:

    Citation : erreur

    Erreur, le dossier d'upload n'existe pas.



    Or dans mon ftp j'ai mis 777 sur le répertoire "uploads" que j'ai créé.

    merci d'avance de vos réponses.
    • Partager sur Facebook
    • Partager sur Twitter
      12 mai 2006 à 20:08:33

      Citation :

      Erreur, le dossier d'upload n'existe pas.



      Y'a comme une incohérence dans tout ça ...


      Edit: Effectivement, désolé d'avoir raconter n'importe quoi.
      Mais dis moi, en enlevenant du nom de fichier le slash à la fin, et en le mettant à sa place dans le script, toujours le même message ?
      • Partager sur Facebook
      • Partager sur Twitter
        12 mai 2006 à 20:15:33

        Citation : Pas de titre

        il manque un s pour ne pas tourner autour du pot


        o_O

        bah non puisque dans mon nom de répertoire ya un "s"

        • Partager sur Facebook
        • Partager sur Twitter
          12 mai 2006 à 20:23:59

          J'ai édité le message, c'est simple.
          Il y a une erreur à cause du slash.

          Si tu veux éviter ce message enlève le ou bien créé un répertoire ayant le nom uploads/ et pas uploads :p
          • Partager sur Facebook
          • Partager sur Twitter
            12 mai 2006 à 20:36:58

            ayer, mais c'est toujours le meme message.

            Mais je ne pense pas que le / y joue beaucoup car il sert seulement à afficher l'adresse correctement soit: http://kevin39.free.fr/uploads/fichier.png par exemple
            • Partager sur Facebook
            • Partager sur Twitter
              12 mai 2006 à 20:43:04

              Salut je pense que l'erreur vient de la :
              file_exists($repertoire) ==> Ca veut dire si le fichier existe, or ici c'est un dossier.
              Je te conseil d'essayer avec is_dir($repertoire)
              is_dir() ==> si c'est un dossier, il te renverra true si ce l'est, mais pour qu'il puisse voir si ce l'est, il doit vérifier l'existance de ce dossier.
              • Partager sur Facebook
              • Partager sur Twitter
                12 mai 2006 à 20:51:17

                Heu comment je fais pour voir s'il existe?

                parce qu'avec une variable je veux bien c'est $_GET['variable']

                mais pour un dossier :euh:
                • Partager sur Facebook
                • Partager sur Twitter
                  13 mai 2006 à 14:01:51

                  Citation : streeter

                  Heu comment je fais pour voir s'il existe?

                  parce qu'avec une variable je veux bien c'est $_GET['variable']

                  mais pour un dossier :euh:



                  Je profite qu'il y est du monde pour faire un petit up :)

                  merci de votre aide
                  • Partager sur Facebook
                  • Partager sur Twitter

                  l'upload d'image m'affiche une erreur.

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown