Suprimer le retour chariot dans un nom de dossier/fichier

Suprimer le retour chariot dans un nom de dossier/fichier - PHP - Programmation

Marsh Posté le 22-08-2007 à 00:32:24    

Bonjours,
 
j'ai créer un forumlaire en Flash qui envoie des données vers PHP, pour créer des Dossiers
le fichier flash envoie juste le nom du fichier genre : test
et en PHP je creer le dossier : mkdir($_POST("test" );
 
sauf que voila la variable en flash finis par %0d  qui me fait un saut de ligne
et maintenant je peu plus suprimer mes dossiers, mes logiciel FTP ne reconnaisse pas le %0d
ni le PHP
 
si vous avez une solution pour suprimer les dossiers, je sais pu trop comment mis prendre la  :(  
 
merci


Message édité par stealth35 le 22-08-2007 à 01:01:30
Reply

Marsh Posté le 22-08-2007 à 00:32:24   

Reply

Marsh Posté le 22-08-2007 à 01:38:59    

Ben supprimes a coup de php :
 
rmdir("test\n" );


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 22-08-2007 à 02:03:00    

non ca marche pas j'ai deja essayé

Reply

Marsh Posté le 22-08-2007 à 03:04:31    

mkdir(trim($_POST['test']));


Message édité par e-deby le 22-08-2007 à 03:04:49
Reply

Marsh Posté le 22-08-2007 à 03:08:49    

ca c'est pour creer un dossier sans les caracteres speciaux
 
mon probleme moi c'est juste d'effacer les fichiers que je vient de creer

Reply

Marsh Posté le 22-08-2007 à 11:10:09    

Si ça ne marche pas en php, essaye de les effacer en passant par le ftp.
Sinon, commence par essayer de les renomer (au cas où)
Mais déjà est ce que tu peux effacer, depuis php, des fichiers qui ont un nom sans caractère spécial?

Reply

Marsh Posté le 22-08-2007 à 16:34:29    

omega2> oui bien sur je peu effacer normalement tout fichier
 
sinon par le FTP c'est pareil, ca suprimer pas, ni avec un logiciel (FTP expert, FileZilla), ni sous FTP dos/Unix
 
j'ai ouvert en periferique reseau les dossier, ne marque pas les caratere speciaux
 
par exemple  pour le dossier "test%0d"  partout il est est afficher "test" meme avec un readdir sous php,  ou un dir sous dos ou sous linux
 
y'a que sur IE7 quand j'ouvre le dossier sous HTTP que je vois  
d'ailleur je vous passe le lien ca vous fera une idée
 
http://wsrudmen7.free.fr/test

Reply

Marsh Posté le 22-08-2007 à 16:42:33    

rmdir("test%0d" );


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 22-08-2007 à 17:01:25    

ca non plus ca ne marchai pas
j'ai essaye plein truc
 
rmdir("test" );
rmdir("test\n" );
rmdir("test%0d" );
 
meme les renomer ca marche pas

Reply

Marsh Posté le 26-08-2007 à 23:56:26    

pas d'idées ?

Reply

Marsh Posté le 26-08-2007 à 23:56:26   

Reply

Marsh Posté le 27-08-2007 à 02:02:50    

Essaye rmdir("test\r" ); rmdir("test\r\n" );
Eventuellement, si flash a fait des bizarreries,
foreach(glob('test*') as $d) rmdir($d); (attention à ne pas avoir d'autres dossiers qui s'appellent test, et il faut que ton dossier test soit vide bien sur)
 
Et surtout, ajoute un minimum de filtrage sur ton script.
mkdir($_POST["test"]);  c'est pas ce que j'appelle une faille, c'est un trou noir carrément !

Reply

Marsh Posté le 27-08-2007 à 02:15:44    

Autre conseil, pour entrer un caractère hexadécimal il faut écrire rmdir("test\xd" ); ou encore rmdir("test".chr(0xd)); ce qui est équivalent à rmdir("test\r" );
 
À la rigueur, c'est presque un bug PHP. Clairement, la version windows accepte le carriage return sous linux alors qu'il ne faudrait pas.

Reply

Marsh Posté le 30-08-2007 à 01:51:18    

et non ca ne marche toujours pas je commence a trouver ca étrange...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed