[PHP] - Apostrophe qui pose problème...
Résolu/Fermé
wenijah
Messages postés
72
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
26 janvier 2012
-
20 juin 2007 à 15:44
alexandre - 24 avril 2008 à 15:56
alexandre - 24 avril 2008 à 15:56
A voir également:
- [PHP] - Apostrophe qui pose problème...
- Easy php - Télécharger - Divers Web & Internet
- Quelles sont les 4 cellules qui risquent de poser problème ? - Forum Excel
- Php natif - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Apostrophe inversée ✓ - Forum Word
2 réponses
Essaye de faire un stripslashes() au nom du fichier avant de le faire passer à la moulinette de basename().
Je pense que les apostrophes magiques sont tout simplement activées, ce qui fait que le nom de fichier devient:
"it\'s crazy.zip"
Basename coupe à chaque occurence de "/" ou de "\". Par conséquent, ça te donne:
"'s crazy.zip"
Enfin, ta chaine de remplacement remplace l'apostrphe par un underscore:
"_s crazy.zip"
Juste une question: pourquoi effectuer un basename sur un nom de fichier?
Je pense que les apostrophes magiques sont tout simplement activées, ce qui fait que le nom de fichier devient:
"it\'s crazy.zip"
Basename coupe à chaque occurence de "/" ou de "\". Par conséquent, ça te donne:
"'s crazy.zip"
Enfin, ta chaine de remplacement remplace l'apostrphe par un underscore:
"_s crazy.zip"
Juste une question: pourquoi effectuer un basename sur un nom de fichier?
J'ai eu un problème équivalent avec les apostrophes.
en fait dans mon php au moment de déplacer le fichier du répertoire temporaire vers mon répertoire de travail, je fait le stripslashes(). Je n'ai pas encore eu de retour de la MOA, ça a l'air de fonctionner avec un peu près tout les caractères.
Si ça peut aider, voici un extrait de mon "algo" :
if($formVerifOk){
$destination=$chemin_destination.stripslashes($_FILES['xxx']['name']);
if(move_uploaded_file($_FILES['xxx']['tmp_name'], $destination)){
// ok
}else{
$listeErreurs[] = "message je suis pas content "
$formVerifOk = false; // annulation form est ok !
}
}
en fait dans mon php au moment de déplacer le fichier du répertoire temporaire vers mon répertoire de travail, je fait le stripslashes(). Je n'ai pas encore eu de retour de la MOA, ça a l'air de fonctionner avec un peu près tout les caractères.
Si ça peut aider, voici un extrait de mon "algo" :
if($formVerifOk){
$destination=$chemin_destination.stripslashes($_FILES['xxx']['name']);
if(move_uploaded_file($_FILES['xxx']['tmp_name'], $destination)){
// ok
}else{
$listeErreurs[] = "message je suis pas content "
$formVerifOk = false; // annulation form est ok !
}
}
20 juin 2007 à 16:29
Honnêtement, je ne savais pas trop comment utiliser le basename, je voulais simplement être sûr de mon titre source pour ensuite le remanier.. Ce qui est maintenant chose faite!..
Et je m'étais un peu emmêlé les pinceaux avec 2 variables ($tep qui est le titre original et qui doit le rester et $sep qui est le titre modifié accessible au téléchargement).. Le travail devait être fait sur $sep et non pas $tep!
Merci pour la lumière ! =)
~W~