Probleme mit unlink

psykochris

Mitglied
Hi @ all,
folgendes Problem:
Hab mir einen Filemanager geschrieben welcher soweit auch funktioniert.
Jetzt möchte ich noch einen löschen-Link/Button haben um die Datei beqeuem löschen zu können.
Immer wenn ich unter folgendem PHP-Script auf "löschen" klicke, werden immer ALLE Dateien gelöscht und nicht nur die, die gelöscht werden soll.
Was kann ich tun bzw. was muss ich ändern.

Danke im voraus.

psykochris

PHP-Script:

$handle=opendir('uploadfiles/.');
while ($file = readdir ($handle))
{
if ($file != "." && $file != "..")
{
unlink ("uploadfiles/".$file);
}
}
closedir($handle);
 
Dein gepostetes Skript macht ja genau das. Also in einer Schleife alle Dateien durchgehen und löschen.
Wo ist denn das Formular <form> dazu?
Wird da eine Datei übergeben, die zu löschen ist?
Wie heißt die Variable dazu?
usw.
usw.
 
Hier die Datei welche die Variable an das Lösch-Script (del.php) überträgt:

$handle=opendir('uploadfiles/.');
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {
echo '<b><a href="uploadfiles/';
echo $file;
echo '">';
echo $file;
echo '</a></b>&nbsp;';
echo ('<a href="del.php?');
echo $file;
echo ('">l&ouml;schen</a><br>');
}
}
closedir($handle);
 
Dann müsste in der del.php der Dateiname über den Query String ankommen.
Dann brauchst ihn nur noch mit unlink('pfad/zur/datei.extension'); löschen
 
psykochris hat gesagt.:
(...)Hab mir einen Filemanager geschrieben(...)
Sorry, ich hab ein gewisses Verständis für PHP vorausgesetzt.

Wenn du auf den Link klickst, kommst du auf eine neue Seite.
Steht dann irgendwas hinter dem ? Fragezeichen in deiner Adressleiste?
 
Jörg Rißmann hat gesagt.:
Dann müsste in der del.php der Dateiname über den Query String ankommen.
Dann brauchst ihn nur noch mit unlink('pfad/zur/datei.extension'); löschen
Query String = das was hinter dem ? steht!

In $_SERVER['QUERY_STRING'] steht deine Lösung.
 
Das verstehe ich scho, aber wie übergeben ich unlink() eine Variable?
Die zu löschende Datei liegt in dem Unterverzeichnis "uploadfiles". Wie die zu löschende Datei heißt weiß ich ja vorher nicht...
 
Formulardatei:
PHP:
$handle=opendir('uploadfiles/.');
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {
echo '<b><a href="uploadfiles/';
echo $file;
echo '">';
echo $file;
echo '</a></b>&nbsp;';
echo ('<a href="del.php?datei_zum_loeschen='.$file.'">l&ouml;schen</a><br>');
}
}
closedir($handle);

del.php
PHP:
<?php
unlink($_REQUEST['datei_zum_loeschen']);
?>
 
Zurück