![]() |
[PHP] Datei mit unlink löschen
Hmpf, ich dachte, ich wäre fertig.
Ich versuche mit unlink eine datei zu löschen:
Code:
Das komische ist, ich bekomme eine Fehlermeldung:
<?php
include("header.html"); $folder = "backup/"; $file = $_GET['file']; ?> <h2>Datensicherung</h2> <?php echo $folder.$file; if (unlink($folder.$file)) { echo " <font color='green'>[b]Datei [i]".$file."[/i] erfolgreich gelöscht[/b]</font></p>"; } else { echo " Datei [i]".$file."[/i] konnte nicht gelöscht werden</p>"; } ?> [url="backup.php"]Zurück[/url]</p> <?php include("footer.html"); ?> Zitat:
Warum bekomme ich die Fehlermeldung, obwohl das Löschen funktioniert hat? Erstellt wird die datei so:
Code:
$f = fopen ($path, 'w+');
if ($f == NULL) { die("Datei konnte nicht angelegt werden"); } fputs($f, $out); fclose($f); |
Re: [PHP] Datei mit unlink löschen
existiert denn auch die Datei "/var/www/l3s11195/html/Privat/AdressDB/backup/200910061242_adressen.csv" ?
bzw. versuch mal
Code:
$folder = "./backup/";
immer wird editiert ja ... hmmmmm ... also wenn es geht ... :gruebel: notfalls kannst'e ja immernoch die Meldung einfach unterdrücken :nerd:
Code:
if (@unlink($folder.$file))
|
Re: [PHP] Datei mit unlink löschen
Die Pfadangabe hatte ich auch schon probiert.
Dann werde ich das erstmal unterdrücken. Allerdings ich bekomme auch meine eigene Fehlermeldung zu sehen. Unlink liefert also false zurück, obwohl die Datei gelöscht wird. Irgendwie rätselhaft. Wie vermutet, PHP-Fehlermeldung ist weg, aber meine bekomme ich zu sehen. :roll: |
Re: [PHP] Datei mit unlink löschen
Das ist doch nicht das Script, so wie du es nutzt?
(würde jedenfalls viel Spaß machen, dir via $_GET['file'] den gesamten Webspace lehrzulöschen absichtlich mit H, da es dir dann eine Lehre sein wird X'D ) vielleicht löschst du die Datei ja doppelt? > erstes Mal geht und beim Nächsten kommt dann der Fehler |
Re: [PHP] Datei mit unlink löschen
Doch, das ist genau das Skript, wie ich es nutze. Das Skript liegt zwar auf meinem Webspace, aber da kommst du nicht dran.
Und wo lösche ich sie zwei mal:
Code:
In allen zugehörigen Skripten wird unlink nur einmal verwendet und zwar hier an dieser Stelle.
<?php
if (@unlink($folder.$file)) { echo " <font color='green'>[b]Datei [i]".$file."[/i] erfolgreich gelöscht[/b]</font></p>"; } else { echo " Datei [i]".$file."[/i] konnte nicht gelöscht werden</p>"; } ?> |
Re: [PHP] Datei mit unlink löschen
na dann hoff ich mal keiner findet dein Script :lol:
Ja, also ich hätte dann einfach gedacht, daß ist hier "nur" ein kleines Problemvorführscript und im großen "echten" Script versteckt sich eventuell in den Unmassen an Code noch ein Lösch-Befehl :angel2: dann könnte man es ja erstmal nur noch so probieren
Code:
und wenn auch dieses Scrippt den gleichen Fehler erzeugt, dann stimmt wohl mit deinem PHP etwas nicht.
<?php print_r(unlink('./backup/200910061242_adressen.csv')); ?>
|
Re: [PHP] Datei mit unlink löschen
Nun ja, den Pfad kennst du ja jetzt. ;)
Hm, hardgecoded funktioniert es.
Code:
Ergibt: ./backup/200910070024_adressen.csv
echo $folder.$file;
Oder ist der Dateiname zu lang? Und laut file_exists existiert die Datei:
Code:
Warum bekomme ich also von unlink den Fehler, aber sie wird trotzdem gelöscht?
echo file_exists($folder.$file);
aufgerufen wird das Skript so:
Code:
$files enthält eine einfache Dateiliste.
foreach ($files as $file)
{ echo "<tr><td>".$file."</td><td>".date("Y-m-d H:i", filemtime($folder.$file))."<td align=right>".filesize($folder.$file)."</td><td>[img]./images/restore.jpg[/img] [url='".$folder.$file."'][img]./images/save.jpg[/img][/url] [url='delfile.php?file=".$file."'][img]./images/delete.jpg[/img][/url]</td></tr>"; } Verdammt, jetzt hat es einmal funktioniert. Bei nächste Datei, aber wieder das alte Spiel. Allerdings sehe ich jetzt die Ausgabe von file_exists nicht mehr. Komisch. Wird immer seltsamer. Ich führe das aus:
Code:
OK, Datei existiert. Dann kommentiere ich das wieder ein und führe es aus, dann funktioniert alles, aber nur bei der Datei, bei der ich das vorher probiert habe.
<?php
echo file_exists($folder.$file); /*if (unlink($folder.$file)) { echo " <font color='green'>[b]Datei [i]".$file."[/i] erfolgreich gelöscht[/b]</font></p>"; } else { echo " Datei [i]".$file."[/i] konnte nicht gelöscht werden</p>"; }*/ ?> |
Re: [PHP] Datei mit unlink löschen
füge mal ein clearstatcache(); davor ein
die Cache wird unter Linux nur "immer" gelöscht, wenn eine Datei gelöscht wird beim Erstellen und Ändern ist dises nicht immer der Fall oder du könntest auch einfach mal ein paar Tage warten? :lol: bei mir war es vor 'ner Weile so, das einfach keine Dateien aufgelistet wurden und nach 'ner Weile ging es urplötzlich wieder (ohne irgendeine Änderung) |
Re: [PHP] Datei mit unlink löschen
Code:
Jetzt bekomme ich gar keine Ausgabe, aber die datei wird gelöscht.
<?php
if (file_exists($folder.$file)) { if (unlink($folder.$file)) { echo " <font color='green'>[b]Datei [i]".$file."[/i] erfolgreich gelöscht[/b]</font></p>"; } else { echo " Datei [i]".$file."[/i] konnte nicht gelöscht werden</p>"; } } else { echo " Datei [i]".$file."[/i] existiert nicht</p>"; } ?> Werde ich mal probieren. |
Re: [PHP] Datei mit unlink löschen
Der Ablauf ist folgender:
1: Skript mit Dateiliste wird aufgerufen. 2: Über das Skript wird ein Skript zum Erstellen aufgerufen. 3: Von da gibt es ein Link zurück zum Skript mit der Dateiliste. 4: Lösche ich jetzt, existiert die Datei nicht. 5. Mache ich eine Refresh mit dem FTP Client auf das betroffene Verzeichnis, kann ich die Datei fehlerlos löschen. Mist geht auch nicht immer. :wall: Gleich baue ich jegliche Fehlerüberprüfung aus. :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz