Supprimer un fichier sans extension [Résolu]

Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
- - Dernière réponse : mcjoedassin
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
- 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

20/21 réponses

Meilleure réponse
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Dernière intervention
15 août 2009
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, ++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de malik7934
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
3
Merci
genre avec un <input type="hidden"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de mcjoedassin
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
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
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
0
Merci
quelle est l'erreur ? peux-tu en dire plus ?
Commenter la réponse de mcjoedassin
Messages postés
389
Date d'inscription
lundi 7 juillet 2003
Dernière intervention
10 février 2009
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
Messages postés
389
Date d'inscription
lundi 7 juillet 2003
Dernière intervention
10 février 2009
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
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
0
Merci
nop

il faut que tu mettes l'adresse du type c:\... ou /var/...
Commenter la réponse de mcjoedassin
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Dernière intervention
15 août 2009
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
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
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
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
0
Merci
tu as mis un <input type="file" ou qqchose dans le genre, c'est ça ?
Commenter la réponse de mcjoedassin
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
196
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
2 septembre 2005
0
Merci
tu veux qu'on puisse rentrer le texte et ensuite que le input disparaisse ?
Commenter la réponse de mcjoedassin
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
105
Date d'inscription
mercredi 10 novembre 2004
Dernière intervention
16 octobre 2005
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
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
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.