Bonjour, je voudrais savoir si c'était possible de faire un :
<a href=unlink....>Supprimer</a>
Car je viens d'essayer mais ca me renvoie sur une page 404 not found alors que le unlink seul marche..
Merci de votre aide
Cordialement
Bonjour, je voudrais savoir si c'était possible de faire un :
<a href=unlink....>Supprimer</a>
Car je viens d'essayer mais ca me renvoie sur une page 404 not found alors que le unlink seul marche..
Merci de votre aide
Cordialement
Bonsoir,
href est un attribut d'un lien (une page sur le serveur) donc quand tu cliques le lien, il va chercher la page qui est dans l'attribut href sur le serveur, si la page n'existe pas --> erreur 404.
A+.
Merci de votre aide, mais auriez-vous par hasard une idée d'incorporation d'un unlink dans un hyperlien? Je m'explique. Je souhaiterais que sur la page il y a écrit : "Cliquez ici pour supprimer le fichier" et lorsque l'utilisateur clique sur cette phrase qui sera en hyperlien, le fichier se supprimer du dossier (ici /upload)
Cordialement
Une idée parmi tant d'autres :
dans le href tu cibles une page supprimer.php à laquelle tu transmet (en $_POST ou $_GET) l'identifiant de la page à supprimer,
tu y fais le traitement de la suppression via unlink()
puis tu rediriges vers la page qui affiche lien en transmettant via $_GET l'état de la suppression.
Une autre solution est de lancer une fonction js on clic sur le lien qui effectue une requête ajax sur la page supprimer.php.
Salut,
je ne trouve pas de lien dans la FAQ mais il faut commencer par comprendre le mécanisme de PHP.
- Tes scripts PHP sont interprétés sur le serveur qui renvoie une "page internet" au navigateur
- Le navigateur n'interprète pas le PHP donc tu ne peux pas utiliser une fonction PHP comme ça. Il reçoit et interprète du HMTL, JS, CSS, etc.
- La seule manière est donc de dire au serveur d'exécuter telle ou telle fonction PHP (en passant des paramètres à ton lien ou en appelant telle ou telle page PHP)
Je ne sais pas si c'est beaucoup plus clair...
Pour le moment j'ai mis :
*
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $fichier = uniqId().$extension; $url = 'http://localhost/Projet/upload/'.$fichier; echo '<a href="efface.php?supprimeLeFichier='.($url).'">supprimer</a><br />';
Et j'ai créé une page efface.php avec :
Et il me dise erreur : Parse error: syntax error, unexpected T_STRING in C:\wamp\www\Projet\efface.php on line 9
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <html> <head> <title>efface</title> </head> <body> <?php if (isset($_GET["supprimeLeFichier"])) { $up = $_GET['url'] unlink($up); } ?> </body> </html>
Si vous pouvez m'aider.. Merci beaucoup
Tu as oublié un point-virgule :
Et attention ce code a un gros trou de sécurité, il permet d'effacer n'importe quel fichier sur ton serveur en remplacement le paramètre directement dans l'url.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $up = $_GET['url'];
Je te conseille de ne passer que le nom du fichier dans l'url et de définir en dur le répertoire dans ta page efface.php.
Sachant que l'on pourra quand même effacer n'importe quel fichier dans ce répertoire ce qui n'est pas sécurisé, tout dépend de tes besoins.
Bonsoir,
Ici tu dois avoir un chemin relatif mais pas un url absolue
A+.$url = 'http://localhost/Projet/upload/'.$fichier;
Je vous remercie de votre aide c'est sympa. Et pour le chemin relatif si je mets
$url='/upload/'.$fichier; cela est bon alors ? vu que la page efface.php se trouve dans le même dossier que ma page index..
Merci
Désolé mais ça ne marche pas. Mon code est le suivant :
Je viens de changer le GET en POST car j'utilise la méthode POST mais lorsque je clique maintenant sur l'hyperlien 'supprimer' une page blanche apparait et le fichier n'est toujours pas supprimer..
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php if (isset($_POST["supprimeLeFichier"])) { $up = $_POST['url']; unlink($up); } ?>
Merci de votre aide
Bonjour,
Une variable passé en URL est GET mais pas POST
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $fichier = uniqId().$extension; echo '<a href="efface.php?supprimeLeFichier='.$fichier.'">supprimer</a><br />';
A+.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php if (isset($_GET["supprimeLeFichier"])) { $up = $_GET['supprimeLeFichier']; unlink("./cheminRepertoire/".$up); } ?>
Je viens d'essayer, en changeant le dossier de destination et cela ne marche pas.. Je remet mes variables :
Je m'explique, j'ai 3 pages : une page formulaire qui renvoie vers une page upload et j'ai mis un <a href..> sur la page upload qui renvoie vers efface.php. Mais les deux variables ci-dessus se situe dans le fichier upload.php, donc faut-il pas un $_SESSION pour récupérer une variable provenant d'une autre page?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $fichier = uniqId().$extension; $url = 'http://localhost/Projet/upload/'.$fichier;
Merci
La variable (nom de fichier) est passé en URL, ce que récupères avec $_GET, je ne sais pas si tu comprends ce que c'est ces variables POST et GET. Je te conseille de lire un tutoriel sur PHP.
J'ai l'impression que ça tourne en rond là![]()
Je viens de lire des cours sur la méthode POST et GET j'ai compris leur fonctionnement merci.
Mon code est :
et je reçois une erreur :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php if (isset($_GET["supprimeLeFichier"])) { $up = $_GET['supprimeLeFichier']; unlink("./upload/".$up); echo "Le fichier a été supprimé avec succès"; }else{ echo "Erreur lors de la suppression du fichier "; } ?>
Warning: unlink(./upload/) [function.unlink]: Permission denied in C:\wamp\www\Projet\efface.php on line 9
Donc je pense qu'il faut faire un chmod('0777',$fichier) mais je bloque sur $fichier car $fichier = "./upload/".$up chez moi..
T'as peut-être effectivement un problème de droit mais je crois que ton nom de fichier n'est pas passé également car il n'apparaît pas dans l'erreur :
T'es sûr que $up n'est pas vide ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Warning: unlink(./upload/)
Pour les droits c'est un problème récurrent selon les config du serveur. Ton fichier dans upload est créé comment ?
On m'a aidé à modifier le fichier efface.php :
Mais j'ai toujours un problème alors que le message 'Le fichier a été supprimé avec succès s'affiche, je ne comprend plus
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <html> <head> <title>efface</title> </head> <body> <?php chmod("upload", 0755); if (isset($_GET["supprimeLeFichier"])) { $up = $_GET['supprimeLeFichier']; unlink("Projet/upload/".$up); echo "Le fichier a été supprimé avec succès"; }else{ echo "Erreur lors de la suppression du fichier "; } ?> </body> </html>
Warning: unlink(localhost/Projet/upload/4ddf5f57ab12f.jpg) [function.unlink]: No such file or directory in C:\wamp\www\Projet\efface.php on line 10
Merci
Partager