Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 13/12/2012, 12h41   #1
Gwenved
Invité régulier
 
Inscription : juin 2004
Messages : 12
Détails du profil
Informations personnelles :
Âge : 32

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 ?
Gwenved est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 13h17   #2
Gwenved
Invité régulier
 
Inscription : juin 2004
Messages : 12
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : juin 2004
Messages : 12
Points : 7
Points : 7
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.
Gwenved est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h35.


 
 
 
 
Partenaires

Hébergement Web