Ordner auslesen und erkennen was drin ist
Pupsgesicht
- php
Hallo,
ich habe in einer Datenbank (MySQL) eine Tabelle angelegt und jedem Eintrag eine ID zugeordnet.
Zudem habe ich zu jeder ID manuell ein Foto in einen Ordner auf meinen Server gelegt.
ID Foto
1 1.jpg
2 2.jpg
Es geht jetzt um die IDs, die kein Foto haben. Für diese soll ein pauschalisiertes Bild angezeigt werden.
Gibt es einen Befehl in Php, der den Ordner auslesen und feststellen kann, ob ein Foto zu der ID darin ist? Wenn ja, wonach muss man suchen (Begriff)? Gibt es eine alternative Lösung?
Vielen Dank!
Gibt es einen Befehl in Php, der den Ordner auslesen und feststellen kann, ob ein Foto zu der ID darin ist?
Nein, PHP ist eine Script- bzw. eine Programmiersprache - sie hat zwar ihre Macken, aber niemand war so dämlich eine derartige Funktion einzubauen.
Gibt es eine alternative Lösung?
Erstelle aus dem vorhandenen Funktionspool einen Algorithmus, der deinen Wünschen entspricht.
Zum Auslesen eines Verzeichnisinhalts eignet sich dir() oder glob(). Alterantiv kannst du mit file_exists() direkt prüfen, ob eine Bestimmte Datei existiert - alles weitere kannst du mit herkömmlichen Zeichenkettfunktionen oder sogar mittels Vergleichsoperatoren in bedingten Verzweigungen ("if") lösen. Natürlich musst du vorher noch deine Datenbank entsprechend Abfragen.
Wenn ich das richtig verstehe dann willst du wenn z.B
ID Foto
1 1.jpg
2 2.jpg
3 leer
bei der Id3 die Zeile leer / bzw. null ist, ein Standartbild anzeigen lassen.
Frag einfach nach der Datenbankabfrage ab ob die Spalte leer ist, wenn nein dann 3.jpg wenn ja dann Standart.jpg
fertig
Prüfen ob eine Datei auf dem Server liegt geht am schnellsten mit file_exists()
Lg Markus
bei der Id3 die Zeile leer / bzw. null ist,
Das bzw. ist hier falsch leer und NULL sind unterschiedliche Konzepte - ein einfaches "oder" ist hier wohl besser angebracht.
ein Standartbild anzeigen lassen.
Ich glaube nicht, dass der OP ein Bild einer Standarte anzeigen will.
Frag einfach nach der Datenbankabfrage ab ob die Spalte leer ist, wenn nein dann 3.jpg wenn ja dann Standart.jpg
IFNULL() oder IF() wären hier Ansatzpunkte - der Themenbereich ist aber PHP, nicht Datenbank ;)
Hello,
vielleicht habe ich es nicht richtig verstanden, aber für mich sieht das Ganze eher wie eine Aufgabe für den Webserver aus.
Mein Szenario:
Irgendjemand hat irgendwann geschusselt und es befinden sich nun in der Datenbanktabelle Ressourcenbezeichner für Bilder, die am üblichen Ort manchmal nicht verfügbar sind. Alle Bilder liegen aber in einem Verzeichnis. Der Webserver könnte also leicht bei einem nicht vohandenen Bild stattdessen eine Standardressource ausliefern. Dazu müsste für das Verzeichnis eine entsprechende Direktive gesetzt werden.
Wär das eine Alternativlösung?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Wär das eine Alternativlösung?
Auch das ist denkbar - so hab' ich das noch nicht gesehen.
Hallo,
Gibt es einen Befehl in Php, der den Ordner auslesen und feststellen kann, ob ein Foto zu der ID darin ist? Wenn ja, wonach muss man suchen (Begriff)? Gibt es eine alternative Lösung?
Hilft dir file_exists() weiter?