Lieber Lukas,
mit anderen Worten: Du hast keine Ahnung, was in Deiner Schleife passiert und ob sie überhaupt ausgeführt wird? Mache Dir ein paar Debug-Ausgaben, damit Du herausfindest, was in Deiner Schleife genau passiert!
if ( $path_parts['extension'] == 'jpg' ) {
Hast Du geprüft, ob das so passt? Was ist, wenn die Endung "jpeg" ist, oder wenn die GrOß-/kLeInScHrEiBuNg anders lautet? Wenn Du nur auf die Dateiendung prüfen willst, dann doch besser so:
if (preg_match('~(?i)\.jpe?g$~', $file)) {
Ich will Dir aber grundsätzlich raten, auf echte Bilddaten zu prüfen. Was ist, wenn man Dir eine Datei "bild.jpg" unterjubelt, in der tatsächlich aber keine Bilddaten, sondern eventuell PHP-Code zum Ausführen steht?
Hier ein Auszug aus einem meiner Projekte:
$tmp = getimagesize($file);
$ok = (
$tmp[0] > 0
&& $tmp[1] > 0
&& preg_match(
'~(?i)\.(gif|jpeg|jpg|png)$~',
$file
)
);
Mein Code prüft nicht nur, ob die Dateiendung stimmt, sondern auch, ob es sich um gültige Bilddaten handelt. Anschließend kann ich mit if ($ok) { ... } else { ... }
entsprechend reagieren.
$thumb -> Createthumb('bilder/'.$file.'');
Aha... Wozu das .'' nach der Variable $file? Warum nicht gleich so:
$thumb->Createthumb("bilder/$file");
Ergebnis ist:
Directory handle: Resource id #3 Files: ...bild1.jpgbild2.jpg usw.
Wie schon gesagt. Mache in der Schleife ein paar Debug-Ausgaben, damit Du weißt, was da passiert.
Liebe Grüße,
Felix Riesterer.
"Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes)