Tutorials

Eine immer größer werdende Tutorialdatenbank.

PHP-Fusion Core

Aktuelle PHP-Fusion Vollversionen und Updates

Addon Downloads

Alle Downloads garantiert Kostenlos

Support 24/7

24 Stunden, 7 Tage die Woche, das ganze Jahr.

Thema ansehen
unlink & co Thema drucken
Benutzeravatar

Senior Mitglied


Rolly8-HL Geschrieben am 17.02.2018 um 12:55
 #1 Beitrag drucken Top
Hallo, habe da mal wieder ein Problem.

         $dh1 = opendir(IMAGES."news/news_cats/");
$images_files1 = makefilelist(IMAGES."news/news_cats/", ".|..", true, "files");
if (is_array($images_files1)) { foreach ($images_files1 as $file1) {
@unlink(IMAGES."news/news_cats/".$file1);}}
                  @rmdir(IMAGES."news/news_cats");
         closedir($dh1);

         $dh2 = opendir(IMAGES."news/images/");
$images_files2 = makefilelist(IMAGES."news/images/", ".|..", true, "files");
if (is_array($images_files2)) { foreach ($images_files2 as $file2) {
@unlink(IMAGES."news/images/".$file2);}}
                  @rmdir(IMAGES."news/images");
         closedir($dh2);

         $dh3 = opendir(IMAGES."news/");
$images_files3 = makefilelist(IMAGES."news/", ".|..", true, "files");
if (is_array($images_files3)) { foreach ($images_files3 as $file3) {
@unlink(IMAGES."news/".$file3);}}
                  @rmdir(IMAGES."news");
         closedir($dh3);

Es funktioniert wie es soll, das Verzeichnis inc. Inhalt wird entfernt, habe aber ein Eintrag im Fehler log.
unlink(../images/news/images): No such file or directory Zeile: 195
in Zeile 195 steht aber das
@unlink(IMAGES."news/".$file3);}}

Was kann ich machen das dieser Fehler (der ja eigentlich keiner ist) nicht mehr auftaucht?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Beiträge: 236 
http://rolly8-hl.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 23.02.2018 um 06:51
 #2 Beitrag drucken Top
Jeder Fehler ist und bleibt ein Fehler ;).

Aus meiner Sicht aus sieht es so aus, als würde das Löschen des Ordners news/IMAGES nicht durchgeführt, denn er versucht ja in Zeile 195 die Datei (was ja ansich ein Ordner ist) news/IMAGES zu löschen.

Weiteres ist die Verwendung von opendir($bla); und closedir($bla); in diesem Zusammenhang unnötig, denn das macht die Funktion makefilelist(); sowieso selbst, also kannst du opendir($bla); und closedir($bla); hier entfernen.

Ein umgehen des Fehlers sollte mithilfe von file_exists(); möglich sein, aber beachte, nur wenn man einen Fehler umgeht, heißt es noch lange nicht, dass es Fehlerfrei funktioniert!


if (@file_exists(IMAGES."news/".$file3)) {
  @unlink(IMAGES."news/".$file3);
}
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Senior Mitglied


Rolly8-HL Geschrieben am 23.02.2018 um 10:13
 #3 Beitrag drucken Top
Hallo
Das mit opendir($bla); und closedir($bla); war nur ein Versuch von mir der nichts gebracht hatte.
Habe Deinen Hinweiß übernommen und 3x angesetzt, momentan ist der Fehler nicht aufgeführt im Log.
Funktioniert hatte es ja schon wie es sollte, es war da nur noch dieser Fehler, wobei der nur aufgetreten war wenn die Verzeichnisse leer waren und das nicht jedes mal.
Danke für den Hinweiß und hoffe das es das gewesen ist.

MfG und schönes Wochenende
R8
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Beiträge: 236 
http://rolly8-hl.de 
Springe ins Forum:
Anzeige


Anmelden


Registrieren Passwort vergessen

RSS Feeds

Feeds abonieren

Letzte News
Letzte Threads
Anzeige

© Copyright 2024 PHP-Fusion.at | Alle Rechte vorbehalten.

© 2016 Real Space. All rights reserved | Design by W3layouts | 19,809,752 eindeutige Besuche
Powered by PHP-Fusion copyright © 2002 - 2024 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.