Versionen dieses Beitrags

Mit PHP Bild-Daten aus einem Ordner auslesen

Ts rot TS
  • Mit PHP Bild-Daten aus einem Ordner auslesen
  • Hello,
  • debuggen, debuggen, debuggen ...
  • Die Funktionen einzeln testen. Dazu muss man sich passende Umgebungen schaffen. Du könntest z. B. erst einmal `function get_image_filenames)`testen, indem Du dir das resultierende Array mit print_r() anzeigen lässt.
  • Die Funktionen einzeln testen. Dazu muss man sich passende Umgebungen schaffen. Du könntest z. B. erst einmal `function get_image_filenames()`testen, indem Du dir das resultierende Array mit print_r() anzeigen lässt.
  • Aber ich sehe schon einen Fehler:
  • ~~~php
  • <?php
  • function get_image_filenames($verzeichnis=false)
  • {
  • if ($verzeichnis === false) return false; ## Daisy-Chain-Skip
  • $verzeichnis = rtrim($verzeichnis, '/') . '/'; ## Normierung nach POSIX
  • $_liste = array();
  • if ($vhandle = opendir($verzeichnis))
  • {
  • while (false !== ($filename = readdir($vhandle)))
  • {
  • if (is_file($verzeichnis . $filename))
  • {
  • if (false !== ($imgsize = getImageSize($verzeichnis . $filename))) ## ist es ein Bild?
  • {
  • $_liste[$filename] = array(
  • 'name' => $filename,
  • 'pfad' => ($verzeichnis . $filename),
  • 'bildabmessungen' => $imgsize,
  • 'berechnungen' => 'berechnungen'
  • );
  • ## Berechnungen ist deine nächste Baustelle?
  • }
  • }
  • }
  • ksort($entry, SORT_NATURAL | SORT_FLAG_CASE);
  • closedir($handle);
  • return $_liste
  • }
  • return false;
  • }
  • #-------------------------------------------------------------—
  • $_liste = get_image_filenames('img/');
  • echo "<pre>\n";
  • echo print_r($_liste, 1);
  • echo "</pre>\n";
  • ?>
  • ~~~
  • Es muss wohl `if (is_file($verzeichnis . $filename))` heißen, da das Skript ja im aktuellen Working Directory ausgeführt wird, und die Files im Unterverzeichnis "$verzeichnis" liegen.
  • Liebe Grüße
  • Tom S.
  • --
  • Es gibt nichts Gutes, außer man tut es!
  • Das Leben selbst ist der Sinn.