PHP-Warning bei unlink()
am 11.07.2006 10:49:37 von Martin Nadoll
Hallo,
ich lösche Bilder vom Server mittels unlink():
$imgPfad="/home/folder/images/";
unlink($imgPfad . $img);
Das Bild wird wie gewünscht gelöscht, auf der Seite erscheint aber ein
PHP-Warning:
Warning: unlink(/home/folder/images/): Is a directory in
/home/folder/admin/script.php on line 88
selbst nach @unlink($imgPfad . $img); erscheint die Meldung.
Hat hier jemand eine Erklärung dafür?
Danke für jede Hilfe,
Martin Nadoll
Re: PHP-Warning bei unlink()
am 11.07.2006 11:45:16 von Ulf Kadner
Martin Nadoll wrote:
> ich lösche Bilder vom Server mittels unlink():
>
> $imgPfad="/home/folder/images/";
> unlink($imgPfad . $img);
>
> Das Bild wird wie gewünscht gelöscht, auf der Seite erscheint aber ein
> PHP-Warning:
> Warning: unlink(/home/folder/images/): Is a directory in
> /home/folder/admin/script.php on line 88
>
> selbst nach @unlink($imgPfad . $img); erscheint die Meldung.
>
> Hat hier jemand eine Erklärung dafür?
Das Manual. Wie meist!
http://www.php.net/manual/en/function.unlink.php
MfG, Ulf
Re: PHP-Warning bei unlink()
am 11.07.2006 12:36:26 von Ulf Kadner
Ulf Kadner wrote:
> Martin Nadoll wrote:
>> $imgPfad="/home/folder/images/";
>> unlink($imgPfad . $img);
>>
>> Warning: unlink(/home/folder/images/): Is a directory in
>> /home/folder/admin/script.php on line 88
>
> Das Manual. Wie meist!
> http://www.php.net/manual/en/function.unlink.php
Ist wohl etwas zu kurz gefast.
Das was zum Fehler führt ist die Tatsache, das Du keine Datei, sondern
ein Verzeichnis zu löschen versuchst.
U.U ist $image in diesem Fall leer, da Dir sonst nicht die Fehlermeldung
angezeigt würde das Du versuchst ein Verzeichnis zu löschen.
Also muste vorher prüfen ob Das was Du da löschen willst auch als Datei
existert. (Minimal mit !empty($img))
MfG, Ulf
Re: PHP-Warning bei unlink()
am 11.07.2006 12:46:01 von Gregor Kofler
Ulf Kadner meinte:
> Ulf Kadner wrote:
> Also muste vorher prüfen ob Das was Du da löschen willst auch als Datei
> existert. (Minimal mit !empty($img))
file_exists() würde ich hier als die angebrachtere Lösung sehen.
unlink() "kapsle" ich immer in eine file_exists()-Bedingung.
Gruß, Gregor
--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum
Re: PHP-Warning bei unlink()
am 11.07.2006 13:21:14 von Ulf Kadner
Gregor Kofler wrote:
> file_exists() würde ich hier als die angebrachtere Lösung sehen.
Das kommt drauf an. Es gibt sicher Programmlogik die diese Prüfung nicht
notwendiger Weise erforderlich macht. Das wird wohl von Fall zu Fall
differieren.
Wenn ich 100 Dateien löschen will ist das zusätzliche file_exists fuer
jede Datei doch schon erheblich in der Preformance sichtbar.
Ich würde sagen je nach Notwendigkeit sollte man den entsprechenden
Prüfalgo verwenden/bauen. Ich würde mich da nicht auch eine strikte
file_exists-Verwendung festlegen.
MfG, Ulf
Re: PHP-Warning bei unlink()
am 13.07.2006 12:20:30 von Thomas Dartsch
"Ulf Kadner" schrieb
> Das kommt drauf an. Es gibt sicher Programmlogik die diese Prüfung nicht
> notwendiger Weise erforderlich macht. Das wird wohl von Fall zu Fall
> differieren.
Der Threadstarter sucht aber genau nach einer solchen Lösung, um eine ggf.
auftauchende PHP-Warnung nicht zu erhalten.
Dazu ist file_exist() wohl die einfachste Möglichkeit. Eben um die Existenz
der zu löschenden Datei wirklich zu verifizieren.
Das damit ein Performanceverlust einhergeht ist ganz sicher richtig, aber
zumindest im Fall seiner Fragestellung unrelevant.
t.d
Re: PHP-Warning bei unlink()
am 13.07.2006 12:42:00 von Detlef Sax
On Tue, 11 Jul 2006 12:46:01 +0200, Gregor Kofler wrote:
[...]
> file_exists() würde ich hier als die angebrachtere Lösung sehen.
is_file()
Detlef