+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité régulier
    Inscrit en
    juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : juin 2004
    Messages : 12
    Points : 7
    Points
    7

    Par défaut $_FILES['userfile']['tmp_name'] != upload_tmp_dir

    Bonjour,

    j'ai un problème d'upload de fichiers.
    dans php.ini, j'ai configuré :
    Code :
    upload_tmp_dir="D:\\Temp\\"
    le répertoire existe et les scripts php peuvent écrire dedans.

    Mais $_FILES['userfile']['tmp_name'] n'a pas de valeur correcte :
    var_dump( $_FILES ); donne :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    array(1) {
      ["userfile"]=>
      array(5) {
        ["name"]=>
        string(18) "table_worklist.sql"
        ["type"]=>
        string(24) "application/octet-stream"
        ["tmp_name"]=>
        string(16) "D:Tempphp1E4.tmp"
        ["error"]=>
        string(1) "0"
        ["size"]=>
        string(4) "2790"
      }
    }
    $_FILES['userfile']['tmp_name'] a perdu les slashes de upload_tmp_dir. En modifiant upload_tmp_dir, $_FILES['userfile']['tmp_name'] change bien mais toujours sans slashes.
    J'ai essayé de mettre des '/', '\' et '\\', mais toujours pareil.

    Comment php interprète-t-il upload_tmp_dir ?

  2. #2
    Invité régulier
    Inscrit en
    juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : juin 2004
    Messages : 12
    Points : 7
    Points
    7

    Par défaut

    Résolu,

    il y avait une méthode qui modifiait $_FILES :
    Code :
    1
    2
    3
    4
    5
    6
    7
            function stripslashes_deep($value)
            {
                return (is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value));
            }
            $_GET     = array_map('stripslashes_deep', $_GET);
            $_POST    = array_map('stripslashes_deep', $_POST);
    	$_FILES   = array_map('stripslashes_deep', $_FILES);
    j'ai commenté la ligne de $_FILES et l'upload marche maintenant.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •