Supprimer un fichier [Résolu]

Messages postés
109
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
27 mars 2012
- - Dernière réponse : kohntark
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
- 28 nov. 2010 à 17:18
Bonjour,
J'essaye de créer un fichier php où l'on supprimer un fichier en mentionnant son nom.
Bien sûr, si je suis sur ce forum c'est qu'il ne marche malheureusement pas
Voici mon code
<html>

" type="text" alt="Fichier à supprimer" size="18" />

</html>
<?php
//Supprimer un fichier
unlink("'$fichier'");
?>


Merci d'avance !!
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
3
Merci
Salut,

Tu devrais peut être commencer par revoir les bases du langage parce que là ...
A quoi sert le input ?
Que vaut $fichier ?

Lorsque ça bug il faut toujours chercher à afficher un maximum à l'aide d'echo (ou var_dump(), print_r(), ...) et tester le retour des fonctions :

if(false === unlink($fichier)) {
echo 'erreur lors de la suppression de '.$fichier.'
';
}


En activant bien évidemment l'affichage des erreurs :
ini_set('display_errors', 'on');
error_reporting(-1);

(à mettre tout en haut du script)

Pense également à regarder le code HTML généré.
Tu t'apercevras par exemple que
" type="text" [...]
n'affiche rien dans l'id (il faut faire un echo).

Commence donc par là.

Cordialement,





Kohntark -

Dire « Merci » 3

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

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kohntark
Messages postés
109
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
27 mars 2012
0
Merci
Merci Kohntark pour ton aide.
Je pense que le problème provient du fait qu'il y a qu'un seul fichier donc que le script en php s'effectue en même temps
que la lecture du html.

Il faudrait appeler le code après avoir entré le nom du fichier, quelqu'un peut m'aider SVP ?
Commenter la réponse de spacedelta
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
0
Merci
Le véritable problème est de savoir ce que tu cherches à faire.
On peut imaginer, et juste imaginer, que tu souhaites que l'utilisateur entre un nom de fichier dans un formulaire, valide ce formulaire, et que le serveur supprime le fichier demandé.

Je repose donc les questions sans réponse :

A quoi sert le input ?
Que vaut $fichier ?



Cordialement,

Kohntark -
Commenter la réponse de kohntark
Messages postés
109
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
27 mars 2012
0
Merci
ah, ok !

l'input sert à entrer le nom du fichier.
"$fichier" sert à donner le nom au fichier (le nom que l'utilisateur tape)

En gros, ça fait ce que tu m'as dit.
On peut imaginer, et juste imaginer, que tu souhaites que l'utilisateur entre un nom de fichier dans un formulaire, valide ce formulaire, et que le serveur supprime le fichier demandé.
Commenter la réponse de spacedelta
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
0
Merci
Il faut donc :
- un formulaire qui pointe vers lui même (x), ou vers un autre fichier (x), via la méthode que tu veux (POST ou GET) et qui envoie l'input qui va bien vers x
- tu traites la valeur reçue, contrôle que le fichier existe, qu'il est autorisé, etc ...
- tu le supprimes et teste si la suppression s'est bien passée.

Ce ne sont là que les grandes lignes.

Aide toi des multiples tutos au besoin.

Cordialement,


Kohntark -
Commenter la réponse de kohntark
Messages postés
109
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
27 mars 2012
0
Merci
Re bonjour !

J'ai fait mes recherches et j'ai trouvé (enfin fais) ceci qui ne marche toujours pas
Voici ce que j'ai fait
Déjà je suis sur 2 fichiers :
Un (supprimer.php) qui pointe vers delete.php

Supprimer.php
<html>

<form method="post" action="delete.php">
  "type="text" >
  


</form>

</html>


Delete.php
<?php
//Supprimer un fichier
unlink("'$fichier'");

if(false === unlink($fichier)) {
echo 'erreur lors de la suppression de '.$fichier.'
';
}
?>


PS : Je pense que vous avez remarqué ! Je ne suis pas doué en php !

@+
Commenter la réponse de spacedelta
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
0
Merci
ne marche toujours pas

Ca ne veut pas dire grand chose tout ça. Qu'est ce qui ne marche pas exactement ? As tu une erreur ? Laquelle ?

Désolé de me répéter mais :

Aide toi des multiples tutos au besoin.

Parce que là ton script PHP ne risque pas de recevoir quoi que ce soit du formulaire.
Pour cela il faudrait que ton input possède un attribut name et value.
Côté script PHP il faut récupérer la variable avec $_POST.

Cordialement,

Kohntark -
Commenter la réponse de kohntark