Supprimer un fichier [Résolu]

Signaler
Messages postés
107
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
20 novembre 2011
-
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
-
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 !!

7 réponses

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
26
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 -
Messages postés
107
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
20 novembre 2011

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 ?
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
26
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 -
Messages postés
107
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
20 novembre 2011

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é.
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
26
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 -
Messages postés
107
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
20 novembre 2011

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 !

@+
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
26
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 -