Supprimer un fichier

Résolu
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011 - 28 nov. 2010 à 12:21
kohntark Messages postés 3705 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 !!

7 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 nov. 2010 à 12:37
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 -
3
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011
28 nov. 2010 à 12:46
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 ?
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 nov. 2010 à 12:57
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 -
0
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011
28 nov. 2010 à 13:05
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é.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 nov. 2010 à 13:19
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 -
0
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011
28 nov. 2010 à 16:15
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 !

@+
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 nov. 2010 à 17:18
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 -
0
Rejoignez-nous