Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2478 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme avec les slashes en upload

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec les slashes en upload

n°561971
jerkeve
Posté le 07-11-2003 à 19:32:15  profilanswer
 

bonjour,
 
j'ai un probleme avec les fichiers dont le nom comporte une apostrophe en upload :  
 
je fais un champ "file" dans un formulaire pour permettre aux utilisateurs d'envoyer des fichiers > je rentre au passage le nom du fichier dans une base de donnee en ajoutant un "addslashes($file_name)".  
 
Mais le probleme c'est que le fichier est entré sur le serveur avec le \ devant les apostrophes ... => indelettable du serveur puisque c'est un caractere interdit !
j'ai mis tous les stripslashes($filename) voulu apres entree dans la base, mais rien a faire.  
 
Si quelqu'un peut me dire a quoi c'est dû ? Et ce qu'il faut faire ???
 
Pour info, voila mon code minimal:
 
 
en bas de la page de code, (elle se recharge apres le submit)le formulaire :
 

Citation :


<FORM METHOD="POST" ENCTYPE="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=<? echo $MFS;?>>
<INPUT NAME="userfile" TYPE=FILE size="70">
<INPUT type="submit" name="Submit" value="Envoyer">
</FORM>


 
 
et en haut,  :
 

Citation :


 
//insertion dans la base
if ($userfile!="" )
       {
        include ("declBD.php" );
 $taille=filesize($userfile);
 $userfile_name=addslashes($userfile_name);
 $requete="INSERT INTO support (taille,userfile_name) VALUES('$taille','$file_name')";
 if (!($result=mysql_query ($requete)))
  {
  echo mysql_errno().":".mysql_error();
  exit;
  }
        }
 
 
// Répertoire de stockage
$rep="../supports/";
 
//deplacement du fichier uploadé
if($userfile_size>0)  
 {
 $file_name=stripslashes($userfile_name);
        $savefile= $rep.$userfile_name;
    if (move_uploaded_file($userfile, $savefile))  
     {  
?>
       Votre fichier a bien été enregistré  <BR>
       Nom : <? echo($userfile_name); ?> <BR>
       Taille : <? echo($userfile_size); ?> octets <BR>
     }  
    else  
     {  
?>  
          <b>Erreur d'enregistrement</b>  
<?  
  }
 
 }  
?>


 
 
 
 

mood
Publicité
Posté le 07-11-2003 à 19:32:15  profilanswer
 

n°561977
simogeo
j'ai jamais tué de chats, ...
Posté le 07-11-2003 à 19:40:10  profilanswer
 

Citation :

if ($userfile!="" )
       {
        include ("declBD.php" );
 $taille=filesize($userfile);
 $userfile_name=addslashes($userfile_name);
 $requete="INSERT INTO support (taille,userfile_name) VALUES('$taille','$file_name')";
 if (!($result=mysql_query ($requete)))
  {
  echo mysql_errno().":".mysql_error();
  exit;
  }
        }


 
normal ca ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°561992
jerkeve
Posté le 07-11-2003 à 20:14:14  profilanswer
 

oui, dsl, j'ai essaye de simplifier le code, il aurait fallu mettre  $userfile_name dans la requete... mais mon pb n'est pas dans l'insertion dans la BdD, mais sur le serveur...  
 
Je crois que le fichier est stocké ds un fichier temporaire avant d'etre placé dans le rep de destination, c'est peut etre la qu'il part avec un mauvais nom ? Mais je ne sais pas comment le recuperer et changer le nom en enlevant les slashes :(

n°561994
simogeo
j'ai jamais tué de chats, ...
Posté le 07-11-2003 à 20:24:58  profilanswer
 

la solution c'est de renommer les fichiers ......
 
j'ai deja mis en place une solution equivalente.... je stockais le nom du fichier et l'extension dans la base, je recuperais l'id et je nommais le fichier par l'id. ainsi tu es sur que le nom est unique et que son nom est conforme [:spamafote]


Message édité par simogeo le 07-11-2003 à 20:25:06

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°562005
jerkeve
Posté le 07-11-2003 à 20:45:51  profilanswer
 

ok, je teste, je n'avais pas pense a renommer le fichier par le stripslashes($nomdelabase) !
 
merci de ton aide :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme avec les slashes en upload

 

Sujets relatifs
Probleme avec Dev cpp[XSL] Problème d'apostrophe
problème de capture son avec Directshow sous VC++62 sgbd differents... : creation d'un table sur un probleme ;)
Problème avec Visual C++ 6.0 : plante a l'edition des liensProbleme avec un algo
[HTML/CSS]Problème avec une scrollbar et un background.[Castor] Problème d'encodage
[XML/XSL] [WIP] Gestionnaire de liens (1er problème résolu !)[HTML] Problème de marge [ok]
Plus de sujets relatifs à : probleme avec les slashes en upload


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR