Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Löschen von verwaisten dateien

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Löschen von verwaisten dateien

    ich hab seiten programmiert, wo man dateien hochladen kann, der dateiname wird dann in einer datenbank gespeichert und die datei in einem upload verzeichnis....man kann die alte datei auch ersetzen(weil es handelt sich um schriftstücke), ich hab es schon soweit das der name der "neuen" datei dann in der datenbank geändert wird, aber mein problem ist das ich die "alte" datei noch aus dem upload verzeichnis löschen muss, weil der server sonst irgendwann voll mit verwaisten datein ist....

    also ich bin jetzt soweit das ich eine datenbankabfrage mach und sag das er alle datein löschen soll die nicht $dateiname haben:
    Code:
       $link = mysql_connect($host, $user, $password);
            	     mysql_select_db($db);
    
    		     $query ="Select arbeiten.dateiname from arbeiten";
    
    		     $result=mysql_query($query, $link);
    			
    			 if(!file_exists($dateiname) 
    			{ 
      			 unlink(); 
    			}
    
    		    mysql_close($link);
    aber das ist irgendwie falsch...

    ich möchte die dateinamen aus der datenbank mit denen aus dem upload verzeichnis vergleichen und alle ungleichen rausschmeißen, weiß jemand wie das geht?!? danke für jeden rat

  • #2
    Hallo,

    sowas hab ich vor ein paar Monaten für Delphi/Windows in einem Programm gemacht - das Prinzip ist aber das gleiche:

    1. erstelle eine Liste mit allen physisch vorhanden Dateien

    2. erstelle eine Liste mit den Dateien in der DB

    3. Überprüfe, ob die Dateien aus 2) physisch vorhanden sind (mit Liste aus 1), falls nein, lösche den Eintrag auf der Liste (z. B. beim Array den entsprechenden Array-Eintrag löschen)

    4. jetzt überprüfe die übrig gebliebenen Einträge auf der Liste aus 1 (physisch vorhandene Dateien), ob Du die noch brauchst oder nicht, evtl. dann löschen.

    Hoffe das hilft.

    Kommentar


    • #3
      ja genau, dass ist ja das was ich machen will...und zwar vergleichen zwischen denen die ich in der datenbank hab und denen die ich im upload verzeichnis hab....
      gibt es sowas wie einen vergleich befehl...?!
      und wie ist da denn der code...weil ich weiß zwar was ich will aber in php check ich es grad nicht mehr....danke

      Kommentar


      • #4
        einen vergleich befehl gibt es nicht. von der logik her, musste halt entweder
        verzeichnis oder datenbank mit ner schleife durchlaufen und dann im jeweils
        anderen gegenchecken ob das element das du willst vorhanden ist.

        Kommentar

        Lädt...
        X