usa-reise.de Forum

Autor Thema: Bildgröße in PHP?  (Gelesen 1067 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Scooby Doo

  • Train Operator
  • Moderator
  • Diamond Member
  • *****
  • Beiträge: 13.001
  • Start with nothing you've got nothing to lose!
    • http://www.mk-urlaub.de
Bildgröße in PHP?
« am: 02.03.2004, 13:58 Uhr »
Hallo,

gibt es eigentlich eine Funktion in PHP, mit der man die Breite und Höhe eines Bildes bestimmen kann?

Zweck der Übung: In einer Datenbank werden eine Reihe von Bilder abgelegt (bild1.gif bild2.gif), man hat aber keine Ahnung, ob die hochkant oder quer sind. Bedingung ist aber, die längere Seite soll später 200 Pixel lang sein.
Wenn ich nun wüßte, wie breit / hoch ein Bild ist, könnte ich die längere Seite herausfinden und dann entsprechende Attribute height bzw. width setzen.
Viele Grüße, Markus

http://www.historic-route66.de

Anonymous

  • Gast
Re: Bildgröße in PHP?
« Antwort #1 am: 02.03.2004, 15:13 Uhr »

Andre

  • Platin Member
  • *****
  • Beiträge: 2.779
    • Günstige USA Flüge
Re: Bildgröße in PHP?
« Antwort #2 am: 02.03.2004, 15:27 Uhr »
Ich habe mir das Anliegen ein paar Mal durchgelesen und trotzdem nicht verstanden.
Egal, zur Frage: PHP ist als Schnittstelle zwischen HTML Dokumenten und webbasiertem Datenbankeinsatz zu verstehen. Da PHP HTML versteht, wird in PHP auf Neuerfindung des Rades verzichtet. Soll heissen, du verwendest ganz einfaches HTML in deiner PHP-Seite.

Anonymous

  • Gast
Re: Bildgröße in PHP?
« Antwort #3 am: 02.03.2004, 15:33 Uhr »
Ganz einfach. Er hat z.B. ein Bild mit 200*100 Pixeln oder 200*200 Pixeln das er mit onclick() in einem Fenster öffnen will.  Problem ist, wenn er das aus der Datenbank holt muß er eine feste größe für das sich öffnende Fenster angeben.
Nachteil: entweder ist diese Fenster zu klein und man muß scrollen oder es ist zu groß und rechts/links/oben/unten ist zuviel Platz. Liest man die größe vorher aus, kann man mittels Script ein maßgeschneidertes Fenster öffnen.

Scooby Doo

  • Train Operator
  • Moderator
  • Diamond Member
  • *****
  • Beiträge: 13.001
  • Start with nothing you've got nothing to lose!
    • http://www.mk-urlaub.de
Re: Bildgröße in PHP?
« Antwort #4 am: 02.03.2004, 15:36 Uhr »
@Gast
danke, hat mich schon auf die richtige Idee gebracht, wie ich mein Problem löse. (GetImageSize)

@Andre
Das Problem ist, um es noch einmal kurz zu erläutern, die Seite, die die Bilder anzeigen soll, bekommt nicht immer dieselben Bilder, sondern aus einer Datenbank - ist also dynamisch.
HTML nimmt zwar die Formatierung vor, kann aber nicht die Größe von Bildern ermitteln, d.h. hinter width bzw height muss ich persönlich die konkrete Zahl eingeben oder von PHP ausgeben lassen.
Nur woher bekommt PHP die Informationen?
Viele Grüße, Markus

http://www.historic-route66.de

Andre

  • Platin Member
  • *****
  • Beiträge: 2.779
    • Günstige USA Flüge
Re: Bildgröße in PHP?
« Antwort #5 am: 03.03.2004, 03:41 Uhr »
Dann solltest du neben dem Pic auch die Info zu den Bildabmessungen in der Datenbank speichern und diese mit einer GET-Anfrage rausziehen und spaeter mit imagecreate( $breite, $hoehe) ausgeben.

Scooby Doo

  • Train Operator
  • Moderator
  • Diamond Member
  • *****
  • Beiträge: 13.001
  • Start with nothing you've got nothing to lose!
    • http://www.mk-urlaub.de
Re: Bildgröße in PHP?
« Antwort #6 am: 03.03.2004, 09:14 Uhr »
@Andre
und genau das versuche ich zu vermeiden.
Warum sollte ich diese Informationen mit in die Datenbank aufnehmen, wenn sich eine Funktion findet, die Breite und Höhe von einem Bild berechnen kann.
Viele Grüße, Markus

http://www.historic-route66.de

Scooby Doo

  • Train Operator
  • Moderator
  • Diamond Member
  • *****
  • Beiträge: 13.001
  • Start with nothing you've got nothing to lose!
    • http://www.mk-urlaub.de
Re: Bildgröße in PHP?
« Antwort #7 am: 03.03.2004, 09:57 Uhr »
Habe gerade ein wenig mit der Funktion getimagesize herumexperimentiert.
Scheint zu funktionieren.
Kann mir also ersparen, die Breite und Höhe mit in der Datenbank abzuspeichern.

Da ich nun wusste, nach welchen Befehl ich ausschhauen musste, habe ich mich im Internet noch weiter informiert und folgendes gefunden, wer mir nacheifern will:

Zitat

Beschreibung:
Dieser Befehl liest die Bildgröße von GIF, JPG und PNG-Dateien aus und gibt sie in einem Array zurück. Dieser Befehl benötigt nicht die GD-Bibliothek!
Folgende Elemente befinden sich in dem Array:

0. Breite
1. Höhe
2. Typ: 1=GIF, 2=JPEG, 3=PNG
3. Größenangaben im IMG-Tag (z.B. 'width="111" height="24"')


Beispiel:
$imgsize = getimagesize("img/logo.gif");

if($imgsize[2] == 1) {
  echo "Ein GIF!!!";
} elseif($imgsize[2] == 2) {
  echo "Ein JPEG!!!";
} elseif($imgsize[2] == 3) {
  echo "Ein PNG!!!";
}
Viele Grüße, Markus

http://www.historic-route66.de