Löschen von hochgeladenen Dateien?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Löschen von hochgeladenen Dateien?!

    Hi,

    ich habe ein kleines Gallerie Script geschrieben mit dem ich Bilder hochlden kann. Dabei werden Thumbnails automatisch erstellt und indem jeweiligen Kategorieordner unter kategorieordner/thumb/ abgelegt.

    Nun habe ich eine Funktion geschirben, welche eine Kategorie löschen soll. Sprich alle Dateien und der Unterordner "thumb" soll auch gelöscht werden:

    PHP-Code:

     
    /*****************************************************
      ** Kategorie löschen
      *****************************************************/
    function del_kat(){

        global 
    $serverpfad;
        global 
    $bildordner;

        
    // Löschen aller Dateien, der Unterordner und anschließend des Ordners selbst
        
    if($_GET["kat"] !== ""){
        
        
    // Löschen aller Thumbnails + Ordner
        
    $handle opendir($serverpfad.$bildordner.$_GET["kat"]."/thumb");
        while(
    $file readdir($handle)){
         if (
    $file != "." && $file != ".." && is_file($file)) { 
        if(
    unlink($file)){
        echo 
    "Datei ".$_GET["kat"]."/thumb/<b>$file</b> erfolgreich gelöscht!<br>\n";
        }else{ echo 
    "Konnte Datei <b>$file</b> nicht löschen. Schreibreche überprüfen!";}
        }
        echo 
    "<br>"; }
        
    closedir($handle);
        if(
    rmdir($serverpfad.$bildordner.$_GET["kat"]."/thumb")){echo "Ordner <b>".$_GET["kat"]."/thumb</b> erfolgriech gelöscht! <br><br>\n";}
        else{ echo 
    "Konnte den Ordner <b>".$_GET["kat"]."/thumb</b> nicht löschen. Schreibrechte überprüfen!"; }
        
        
        
    // Löschen der Dateien im Kategorie Ordner + Ordner selbst
        
    $handle opendir($serverpfad.$bildordner.$_GET["kat"]);
        while(
    $file readdir($handle)){
         if (
    $file != "." && $file != ".." && is_file($serverpfad.$bildordner.$_GET["kat"]."/".$file)) { 
        if(
    unlink($serverpfad.$bildordner.$_GET["kat"]."/".$file)){
        echo 
    "Datei ".$_GET["kat"]."/<b>$file</b> erfolgreich gelöscht!<br>\n";
        }else{ echo 
    "Konnte Datei <b>$file</b> nicht löschen. Schreibreche überprüfen!";}
        }
        echo 
    "<br>"; }
        
    closedir($handle);
        if(
    rmdir($serverpfad.$bildordner.$_GET["kat"])){echo "Ordner <b>".$_GET["kat"]."</b> erfolgriech gelöscht! <br><br>\n";}
        else{ echo 
    "Konnte den Ordner <b>".$_GET["kat"]."</b> nicht löschen. Schreibrechte überprüfen!"; }
        
        
        }else{
        echo 
    "Bitte Kategorie wählen! <a href=\"kat.php\"> &laquo; zurück</a>";}

    Die Bilder und Dateien im Bildordner selbst werden gelöscht, doch die Bilder im thumb Ordner werden einfach nicht gelöscht und es wird auch kein Fehler beim Löschvorgang der Dateien ausgegeben.

    URL: http://gw.gamona.de/edgal/admin/kat.php

    Alle Dateien in der Kategorie haben die Rechte 644. Das komisch ist auch, dass ich die Dateien im thumb Ordner auch nicht per FTP Client löschen kann... die bleiben einfach da... warum?

    PS: Die Thumbordner haben die Rechte 755. Diese Rechte lassen sich per FTO Client auch nicht verändern.
    [SIZE=1]Projekte:
    wartower.de | planetd2.de

  • #2
    schau dir mal den thread
    an, vielleicht ist was für dich dabei, ansonsten vor der ganzen kopieraktion ein
    PHP-Code:
    $mask (umaks(0); 
    das hilft bei solchen problemen fast immer

    gruss
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hi,

      wenn ich $mask = umask(0); vor die copy(); Aktion setzte, bekommt das hochgeladen (große) Bild und das erste Thumbnail zwar die Rechte 666, aber die Dateien mittels FTP Client zu löschen geht nicht.

      Was sehr eigenartig ist: Die großen Bilder werden im Hauptverzeichnis gelöscht mit dem selben Scriptcode... doch die thumbnails werden einfach nicht gelöscht und es wird auch kein Fehler beim löschen ausgegeben. Ich versteh das nicht... hängt das mit der Konfiguration des Servers zusammen?
      [SIZE=1]Projekte:
      wartower.de | planetd2.de

      Kommentar


      • #4
        Jetzt hab ichs hinbekommen!

        Das hier: mkdir($bildpfad."thumb", 0777) funktioniert irgendwie nicht, man muss nochmal danahc extra die Rechte mit chmod(); setzen lassen, dann geht auch alles...
        [SIZE=1]Projekte:
        wartower.de | planetd2.de

        Kommentar

        Lädt...
        X