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 de fichiers


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut Upload de fichiers
    Bonjour,
    j'ai un problème sur un upload de fichier et même si le chat, on n'a pas pu le résoudre. Je passe donc par le forum.

    Voici mon formulaire HTML (index.php) :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Tentative de upload d'un fichier
      <form enctype='multipart/form-data' method="post" action="upload.php">
      <input type="file" name="fichier"/>
      <input type="submit" name="submit" value="Envoyer"/>
    </form>

    Voila mon traitement (upload.php):
    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
     <?php
    print_r($_POST); print_r($_FILES);
     
        // Declare variables
        // Get the basic file information
     
        $userfile = $_FILES['fichier']['name'];
        $file_size = $_FILES['fichier']['size'];
        $file_temp = $_FILES['fichier']['tmp_name'];
        $file_err = $_FILES['fichier']['error'];
        $path = 'uploads/';
     
        // Create a new file name
        // This is so if other files on the server have the same name, it will be renamed
        $randomizer = rand(0000, 9999);
        $file_name = $randomizer.$userfile;
     
    // Get the file type
        // Using $_FILES to get the file type is sometimes inaccurate, so we are going
        // to get the extension ourselves from the name of the file
        // This also eliminates having to worry about the MIME type
        $file_type = $userfile;
        $file_type_length = strlen($file_type) - 3;
        $file_type = substr($file_type, $file_type_length);
     
        if(!empty($userfile)) {
            echo '<div style="font-weight: bold; padding: 6px;">File Uploaded  Information</div>
            <ul>
            <li>Original File Name: ' .$userfile. '</li>
            <li>New File Name: ' .$file_name. '</li>
            <li>File Type: ' .$file_type.'</li>
            <li>File Size: ' .$file_size. '</li>
            <li>File Temporary Name: ' .$file_temp. '</li>
            <li>Fille Error: ' . $file_err. '</li>
            </ul>';
     
            // limit the size of the file to 200KB
            if($file_size > 25600) {
                echo 'FILE SIZE TO LARGE<BR />';
                exit();
            }
     
            // Set allowed file types
            // Set case of all letters to lower case
            $file_type = strtolower($file_type);
            $files = array();
            $files[] = 'jpeg';
            $files[] = 'jpg';
            $files[] = 'gif';
            $files[] = 'png';
    		$files[] = 'txt';
            // Search the array for the allowed file type
            $key = array_search($file_type, $files);
            if($key) {
                echo '<b>File allowed!</b><br />';
            } else {
                echo '<b>ILLEGAL FILE TYPE</b><br />';
                exit();
            }
     
    // Check for errors and upload the file
    $error_count = count($file_error);
    if($error_count > 0) {
            for($i = 0; $i <= $error_count; ++$i) {
                echo $_FILES['userfile']['error'][$i];
            }
    } else {
            if(move_uploaded_file($file_temp, 'images/' .$file_name.'')) {
                echo '<h3>Upload Successful!</h3>';
            } else {
                echo '<h3>ERROR</h3>';
            }
    }
     
        } else {
            echo '<h3>No file has been selected.</h3>';
        }
    ?>
    Et voici le résultat :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Array ( [fichier] => bla.txt [submit] => Envoyer ) Array ( )
    Notice: Undefined index: fichier in C:\Documents and Settings\emmay57n\Bureau\testWeb\testFichier\upload.php on line 7
    
    Notice: Undefined index: fichier in C:\Documents and Settings\emmay57n\Bureau\testWeb\testFichier\upload.php on line 8
    
    Notice: Undefined index: fichier in C:\Documents and Settings\emmay57n\Bureau\testWeb\testFichier\upload.php on line 9
    
    Notice: Undefined index: fichier in C:\Documents and Settings\emmay57n\Bureau\testWeb\testFichier\upload.php on line 10
    No file has been selected.

    En gros il n'upload pas le fichier...
    Avez vous des idées ?

    Merci par avance.
    Cordialement,
    Tid.

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 351
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 351
    Billets dans le blog
    17
    Par défaut
    Pour moi ça passe.
    Revois la config de ton PHP : http://fr2.php.net/manual/fr/feature...n-pitfalls.php

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Par défaut up et load
    N'est pas un problème de taille dans ta config ? Ca donne quoi avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form action="tmp.php" method="post" enctype="multipart/form-data" name="aaa">
      <input name="zz" type="file" />
      <input name="ok" type="submit" id="ok" value="valider" />
    </form>
     
    $uploaddir = '/rep/';
    $uploadfile = $uploaddir . basename( $_FILES[ 'zz' ][ 'name' ] );
    move_uploaded_file( $_FILES[ 'zz' ][ 'tmp_name' ], $uploadfile );

  4. #4
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    Bonjour,

    j'ai réglé le problème hier, je ne sais pas d'ou ça venait mais après avoir laisser tomber 3 h et réessayer j'ai vu que ça fonctionnait!

    Merci pour vos réponses,

    @+,
    Tid.

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

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  2. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 17h02
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 12h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 11h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 12h44

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