Supprimer un fichier sans extension [Résolu]

tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 11:03 - Dernière réponse : mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention
- 3 août 2005 à 13:27
Bonjour, alors voila mon problème que j'essaye de résoudre depuis quelques temps :
J'aimerai savoir comment supprimmer un fichier de type fichier (qui n'a pas d'extension). J'ai éssayé avec unlink() mais sa ne marche pas. Voici le code que j'essaye depuis un moment sachant que le fichier en question se trouve dans le dossier mes_mails/ :

<?
$delete = AddSlashes (htmlspecialchars($_POST['delete'])); //Il récupère le formulaire de la page d'avant.
$supprimer = unlink('mes_mails/'.$delete.'');
echo $supprimer;
?>
Mais sa me met des erreurs. J'ai aussi éssayé sa :

<?
$delete = AddSlashes (htmlspecialchars($_POST['delete']));
unlink('mes_mails/'.$delete.'');
?>
Mai la aussi sa m'affiche la même chose. Auriez-vous une idée ???
>>>> Tony 4758 <<<<
Afficher la suite 

Votre réponse

21 réponses

Meilleure réponse
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 3 août 2005 à 11:34
3
Merci
J'ai fait le test suivant: j'ai cree un fichier sans extension que j'ai appele 'prout', j'ai fait une fichier php avec dedans <?php unlink('prout'):?> et ca fonctionne sans probleme...

Es-tu sur d'avoir les droits necessaires sur ton dossier? Si tu as des erreurs du type Warning: unlink(prout): Permission denied in /scratch/data/www/hosts/.../test/unlink.php on line 1, c'est que tu n'as pas les droits. Il faut mettre ton dossier en droit 703 au moins.

Enjoy, ++

Merci malik7934 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de malik7934
Meilleure réponse
mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention - 3 août 2005 à 12:14
3
Merci
genre avec un <input type="hidden"

Merci mcjoedassin 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de mcjoedassin
mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention - 3 août 2005 à 11:09
0
Merci
quelle est l'erreur ?

as-tu les droits sur le fichier ?

peux-tu faire un echo $delete pour voir ?



et question sécurité ...



as-tu pensé à un delete de la forme ../../../../mon/fichier/log
Commenter la réponse de mcjoedassin
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 11:19
0
Merci
je suis en local pour le moment avec easy php 1.8. Et quand je met echo $delete sa m'affiche le nom du fichier, je ne comprend pas pourquoi sa ne marche pas. Merci de ta réponse quand même.

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention - 3 août 2005 à 11:23
0
Merci
quelle est l'erreur ? peux-tu en dire plus ?
Commenter la réponse de mcjoedassin
cs_garfield90 389 Messages postés lundi 7 juillet 2003Date d'inscription 10 février 2009 Dernière intervention - 3 août 2005 à 11:27
0
Merci
verifie si le fichier existe (is_file) et regarde ce que ca donne

"They are 10 sorts of persons whose understand binary and whose not"
Commenter la réponse de cs_garfield90
cs_garfield90 389 Messages postés lundi 7 juillet 2003Date d'inscription 10 février 2009 Dernière intervention - 3 août 2005 à 11:29
0
Merci
je crois qu'il faut que tu mettes l'adresse réelle du fichier pour que ca fonctionne et non une adresse relative


"They are 10 sorts of persons whose understand binary and whose not"
Commenter la réponse de cs_garfield90
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 11:31
0
Merci
sa me met toujours une erreur. J'ai mis l'adresse entière : http://127.0.0.1/.../.../mes_mails/'.$delete.'

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention - 3 août 2005 à 11:34
0
Merci
nop

il faut que tu mettes l'adresse du type c:\... ou /var/...
Commenter la réponse de mcjoedassin
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 11:38
0
Merci
sa me met sa quand je met unlink('mes_mails/'.$delete.'');


Warning: unlink(mes_mails/salut): No such file or directory in c:\program files\easyphp1-8\www\boite de reception\admin@i-rersse.fr\delete.php on line 7
mais je vais éssayer de mettre le fichier delete dans le même repertoire que le fichier à supprimer, sa pourrait peut être arranger les choses, en tout cas je te remercie de ta réponse. Je vais éssayer je te donne la réponse dans 1 minute !!!

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 3 août 2005 à 11:42
0
Merci
No such file or directory...

Et bien c'est clair pour le prog que le fichier n'existe pas. Et s'il existe vraiment (t'as fait des refresh?) c'est ton path qui est faux.

Ton erreur sous-entend que ton fichier est dans c:\program files\easyphp1-8\www\boite de reception\admin@i-rersse.fr\mes_mails, est-ce bien le cas?
Commenter la réponse de malik7934
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 11:46
0
Merci
Oui c'est, mais j'y suis arrivé en faisant :
<?
$fichier = AddSlashes (htmlspecialchars($_POST['delete']));
unlink(''.$fichier.'');
?>

Mais j'ai toujours un problème, c'est que j'ai besoin d'un formulaire pour supprimer ce fichier avec son nom dedans, je pourrais pas faire sa avec un lien, ou alors faire disparaitre le champs de texte et laisser que le bouton ? Merci beaucoup de tes réponses !!!

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention - 3 août 2005 à 11:50
0
Merci
déja

. je ne vois pas l'utilité du AddSlashes (htmlspecialchars

. je ne vois pas l'utilité du ''.$fichier.'' (remplaçable par $fichier)

. remplace <? par <?php ...

. ton problème vient peut-être du fait qu'il te faut mettre des \\ à la place des / dans le chemin vers le fichier ...

. pas compris ton problème de formulaire ! en quoi est-ce différent d'un formulaire classique ?
Commenter la réponse de mcjoedassin
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 11:54
0
Merci
En fait j'ai une page nommée lire.php et mon script php récupère les fichiers sans extensions dans un repertoire défini (mes_mails), et dès qu'on ouvre un de ses fichiers, on peut le supprimmer en appuyant sur le bouton éffacer, mais à côté du bouton il y a le champs de texte ou est inscrit le nom du fichier, et ce champs de texte la je voudrais qu'on ne le voit pas. Ou si ce n'est pas possible, je voudrais que ce champs soit non modifiable.

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention - 3 août 2005 à 12:04
0
Merci
tu as mis un <input type="file" ou qqchose dans le genre, c'est ça ?
Commenter la réponse de mcjoedassin
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 12:07
0
Merci
Non j'ai mit et je voudrais que ce champs ne se voye pas dans ma page. C'est possible ?

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
mcjoedassin 196 Messages postés mercredi 27 juillet 2005Date d'inscription 2 septembre 2005 Dernière intervention - 3 août 2005 à 12:10
0
Merci
tu veux qu'on puisse rentrer le texte et ensuite que le input disparaisse ?
Commenter la réponse de mcjoedassin
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 12:12
0
Merci
Non je veut juste que l'on ne voye pas mon input dans la page sans pour autant l'enlevé. Je veut juste que l'on voit le bouton Effacer seulement.

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
tony4758 105 Messages postés mercredi 10 novembre 2004Date d'inscription 16 octobre 2005 Dernière intervention - 3 août 2005 à 12:17
0
Merci
Oui voila c'est exactement ce que je voulais, merci beaucoup de toutes vos réponses à tous !!!

>>>> Tony 4758 <<<<
Commenter la réponse de tony4758
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 3 août 2005 à 12:57
0
Merci
Salut,



pense à parser les points et les slashs, antislashs pour ne pas te
retrouver dans l'erreur d'un fichier supprimé appartenant à ton site...



Tu peux utiliser les expressions régulières. Pense aussi à remplacer
<? par <?php. Ensuite enlève ton addslashes un nom de fichier qui
contient une appostrophe ne sera pas effacé de toute façon, il contient
des caractères interdits.

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Supprimer un fichier sans extension - page 2