Hallo,
ich möchte Dateien aus einem Verzeichnis löschen, die sich nicht mehr in einer Datenbanktabelle befinden.
Dazu benutze ich folgenden Code:
Das Problem ist jetzt wahrscheinlich die while-Schleife.
Bevor die erste while-Schleife zur nächsten Datei springt, muss erst die 2. Schleife mit in_array abgearbeitet werden, um zu püfen ob die Datei aus der ersten while-Schleife auch in der Tabelle enthalten ist ($row).
Die Werte in den Felder foto1,foto2,foto3,foto4,foto5 bestehen aus dem gleichen String wie die Datei im Verzeichnis,
also z.B.
Datei im Verzeichnis: "1543.jpg"
Feld "foto1" in Tabelle: "1543.jpg"
Kann mir einer weiterhelfen, wie man diese Schleife macht?
ich möchte Dateien aus einem Verzeichnis löschen, die sich nicht mehr in einer Datenbanktabelle befinden.
Dazu benutze ich folgenden Code:
PHP-Code:
mysql_select_db($db,$conn);
$sql="SELECT foto1, foto2, foto3, foto4, foto5 FROM tblfz";
$erg=mysql_query($sql,$conn);
$verz=opendir('../img/fz/gross/');
$zaehler=0;
while ($Datei=readdir($verz)) {
if ($Datei != "." && $Datei != "..") {
while($row=mysql_fetch_row($erg)){
if (true != in_array($Datei,$row)){
print_r($Datei);
//unlink($Datei);
$zaehler++;
}
}
}
}
echo "Es wurden insgesamt " . "$zaehler" . " Dateien gelöscht";
Bevor die erste while-Schleife zur nächsten Datei springt, muss erst die 2. Schleife mit in_array abgearbeitet werden, um zu püfen ob die Datei aus der ersten while-Schleife auch in der Tabelle enthalten ist ($row).
Die Werte in den Felder foto1,foto2,foto3,foto4,foto5 bestehen aus dem gleichen String wie die Datei im Verzeichnis,
also z.B.
Datei im Verzeichnis: "1543.jpg"
Feld "foto1" in Tabelle: "1543.jpg"
Kann mir einer weiterhelfen, wie man diese Schleife macht?
Kommentar