IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Variable dans le chemin pas prise en compte


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut [Upload] Variable dans le chemin pas prise en compte
    Tout d'abord, bonjour à tous !
    (C'est mon premier message dans votre "communauté". )

    Voila mon problème.

    Je travaille sur la partie "administration" de mon site.
    Je souhaite pouvoir uploader des images dans des dossiers spécifiques, pour ensuite pouvoir créer un diaporama "automatique" des images contenues dans ces dossiers.

    Je suis arrivé à la partie "Upload" du script...

    J'ai un script qui fonctionne parfaitement lorsque le chemin du dossier souhaité est "complet", par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ../images/collec/dossimg/
    Mais dans mon cas, j'ai besoin d'avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ../images/collec/'.$_SESSION['dossimg'].'/'
    Seulement, rien à faire...
    Si j'affiche la valeur de $_SESSION['dossimg'], elle affiche bien le nom du dossier souhaité...
    Si j'affiche la valeur du chemin, pas de problème...
    Mais lors de l'Upload, le script enregistre bien l'image, mais dans le dossier précédent !

    Ca fait des jours que je retouche, réécrit ce script... et rien à faire !

    Je vous colle le script récalcitrant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php 
    session_start();
    ?>
    <?php // On se connecte d'abord à MySQL : 
    include('../connection.php');?>
      <?php
      $_SESSION['ID'] = $_GET['ID'];
      $_SESSION['nomprod'] = $_GET['nomprod'];
      $_SESSION['dossimg'] = $_GET['dossimg'];
      ?>
    <?php echo $_SESSION['dossimg']; // renvoie bien le nom du dossier choisi ?>
    <?php
    //----------------------------
    // DEFINITION DES VARIABLES
    //----------------------------
     
    $target = '../images/collec/'.$_SESSION['dossimg'].'/'; // Repertoire cible
    $extension = "jpg"; // Extension du fichier sans le .
    $max_size = 300000; // Taille max en octets du fichier
    $width_max = 293; // Largeur max de l'image en pixels
    $height_max = 293;    // Hauteur max de l'image en pixels
    ?><br>
    <br>
     
    <?php echo "$target"; //renvoie bien le chemin complet... ?>
    <?php //---------------------------------------------
    // DEFINITION DES VARIABLES LIEES AU FICHIER
    //---------------------------------------------
     
    $nom_file = $_FILES['fichier']['name'];
    $taille = $_FILES['fichier']['size'];
    $tmp = $_FILES['fichier']['tmp_name'];
     
    //----------------------
    // SCRIPT D'UPLOAD
    //----------------------
     
    if($_POST['posted'])
    {
     
    // On vérifie si le champ est rempli
     
    if($_FILES['fichier']['name'])
    {
    // On vérifie l'extension du fichier
     
      if(substr($nom_file,-3) == $extension)
      {
       // On récupère les dimensions du fichier
     
        $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
     
       // On vérifie les dimensions et taille de l'image
     
        if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size))
        {
         // Si c'est OK, on teste l'upload
     
          if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES
    ['fichier']['name']))
          {
     
           // Si upload OK alors on affiche le message de réussite
     
            echo '<p align="center">';
            echo '<font face="Verdana" size="2" color="#FF0000">';
            echo '<b>Image uploadée avec succès !</b>';
            echo '</font>';
            echo '<hr>';
            echo '<b>Fichier :</b> '.$_FILES['fichier']['name'].'</br>';
            echo '<b>Taille :</b> '.$_FILES['fichier']['size'].' Octets</br>';
            echo '<b>Largeur :</b> '.$infos_img[0].' px</br>';
            echo '<b>Hauteur :</b> '.$infos_img[1].' px</br>';
            echo '<hr>';
            echo '<br><br>';
          }
           else
          {
     
           // Sinon on affiche une erreur système
     
            echo '<p align="center">';
            echo '<font face="Verdana" size="2" color="#FF0000">';
            echo '<b>Problème lors de l\'upload !</b><br><br><b>'.$_FILES['fichier']['error'].'</b>';
            echo '</font><br><br>';
          }
        }
         else
        {
     
         // Sinon on affiche une erreur pour les dimensions et taille de l'image
     
          echo '<p align="center">';
          echo '<font face="Verdana" size="2" color="#FF0000">';
          echo '<b>Problème dans les dimensions ou taille de l\'image !</b>';
          echo '</font><br><br>';
        }
      }
       else
      {
     
       // Sinon on affiche une erreur pour l'extension
     
        echo '<p align="center">';
        echo '<font face="Verdana" size="2" color="#FF0000">';
        echo '<b>Votre image ne comporte pas l\'extension .JPG !</b>';
        echo '</font><br><br>';
      }
    }
    else
    {
     
    // Sinon on affiche une erreur pour le champ vide
     
      echo '<p align="center">';
      echo '<font face="Verdana" size="2" color="#FF0000">';
      echo '<b>Le champ du formulaire est vide !</b>';
      echo '</font><br><br>';
    }
    }
    ?>
    <html>
    <head>
    <title>Upload d'une image sur le serveur !</title>
    </head>
    <body>
    <form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
    <font face="Verdana" size="2" color="#000000">
    <b>Envoyer le fichier :</b>
    </font>
    <br><br>
    <input type="hidden" name="posted" value="1">
    <input name="fichier" type="file">
    <input type="submit" value="Uploader">
    </FORM>
    </body>
    </html>
    Voila... Si quelqu'un pouvait m'aider à régler ce problème...
    Merci d'avance !

  2. #2
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Bonsoir et bienvenue sur le forum

    Quand tu dis le dossier précédent, tu veux dire que ton image s'enregistre comme ça "/images/collec/fichier.jpg" ?

    La fonction move_uploaded_file() retourne t elle bien "true" ? Le dossier cible existe t il ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut
    Bonsoir à toi PaRa-Bol !

    Effectivement, lorsque j'uploade une image, elle s'enregistre dans :
    ../images/collec/image1.jpg

    Le script me renvoie le message :
    "Image uploadée avec succès"

    et le dossier cible existe bien...

    ...

  4. #4
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Que te donne un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $target.$_FILES['fichier']['name'];

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut
    Re !

    J'ai testé ce que tu me demandais :

    Avant l'upload,

    echo $target.$_FILES['fichier']['name']; me renvoie le chemin souhaité, à savoir :

    ../images/collec/nom_du_dossier/

    Après l'upload : ..images/collec//image1.jpg

    Il ne prend donc pas le nom du dossier en compte...

  6. #6
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Qu'appelles tu avant/après upload ? a quelle endroit exactement ?

    Peux tu recopier ton code avec les echos aux différents endroit et la valeur retournée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] Variable dans le chemin pas prise en compte
    Par deltus7529 dans le forum Langage
    Réponses: 8
    Dernier message: 17/03/2008, 20h46
  2. [MySQL] Variable pas prise en compte dans la requête
    Par Zenerox dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/04/2007, 21h54
  3. Variable dans un chemin
    Par Strix dans le forum Langage
    Réponses: 2
    Dernier message: 15/01/2007, 10h35
  4. [POO] Variable pas prise en compte
    Par cyrill.gremaud dans le forum Langage
    Réponses: 21
    Dernier message: 18/08/2006, 20h10
  5. Réponses: 1
    Dernier message: 19/05/2006, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo