Suprimer le retour chariot dans un nom de dossier/fichier - PHP - Programmation
Marsh Posté le 22-08-2007 à 01:38:59
Ben supprimes a coup de php :
rmdir("test\n" );
Marsh Posté le 22-08-2007 à 03:04:31
mkdir(trim($_POST['test']));
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
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?
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
Marsh Posté le 22-08-2007 à 16:42:33
rmdir("test%0d" );
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
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 !
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.
Marsh Posté le 30-08-2007 à 01:51:18
et non ca ne marche toujours pas je commence a trouver ca étrange...
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