phpbar.de logo

Mailinglisten-Archive

[php] Problem mit ImageCreateJPEG

[php] Problem mit ImageCreateJPEG

Peaveway_(at)_aol.com Peaveway_(at)_aol.com
Thu, 21 Dec 2000 12:21:43 EST


Moin,

In einer eMail vom 21.12.00 18:07:14 (MEZ) Mitteleuropäische Zeit schreibt 
st001892_(at)_hrz1.hrz.tu-darmstadt.de:

> <?
>   header("Content-type: image/jpeg"); 
>   $img = imagecreatefromjpeg($imagepath);
>   imagejpeg($img); 
>   imagedestroy($img); 
>  ?>
>  
>  Wenn $imagepath irgendendeine lokale Datei enthaelt 
>  ($imagepath="foo/bar.jpg") funktioniert es auch wie gewollt, nur, sobald 
ich 
> 
>  stattdessen eine URL angebe 
($imagepath="http://meinserver.de/foo/bar.jpg") 
>  bekomme ich die Fehlermeldung: 
>  
>  "imagecreatefromjpeg: Unable to open 'http://meinserver.de/foo/bar.jpg' 
for 
>  reading "
>  
>  obwohl laut php Doku auch von einer URL gelesen werden kann. 
>  
>  Folgende Fehlerquellen habe ich schon ausgeschlossen:
>  * Die Datei bar.jpg existiert wirklich unter der gegebenen url und wird 
bei 
> direkter 
>  Eingabe der URL in einen Webbrowser auch korrekt angezeigt
>  * Das Script läuft ebenfalls (als Test) auf dem selben Server auf dem das 
>  gewünschte Bild liegt, der request muß also nicht 300x um die Erge 
geroutet 
>  werden. Später werden das Script und das gewünschte Bild aber auf 
>  unterschiedlichen Servern laufen.
>  * Die Datei bar.jpg ist nur 2 kb gross und die Fehlermeldung kommt schon 
> nach 
>  wenigen Sekunden. Das Timeout von php dürfte also nicht das Problem sein. 
>  
>  Any help is welcome.. ;-) 
>  
>  by the way.. bitte keine Hinweise darauf, dass ich das mit echo "[Unable 
to display image]  src=\"http://meinserver.de/foo/bar.jpg\">" auch einfacher 
machen kann, im 
>  Endprogramm werden mit dem Bild vor dem Anzeigen noch einige 
>  Manipulationen gemacht ;-)  

Kannst du mir sagen in welchem Teil des Manuals das stehen soll ? Bislang 
funktionierte das nur mit Bildern die lokal verfuegbar waren. 

Ein paar Moeglichkeiten gibts ja denoch.
1. Hole dir das Bild ganz normal ueber fopen. Abspeichern und normal mit 
arbeiten.
2. Die PHP4.0.4 enthaelt eine neue Funktion namens *such* 
imagecreatefromstring() *such* . Sollte sich evtl dazu eignen die Daten nicht 
vorher auf der Platte speichern zumuessen. Soll gedacht sein um ein Bild aus 
der DB fischen zukoennen und es vor der Ausgabe zum Browser noch manipulieren 
zukoennen.

Die beiden Moeglichkeiten sind aber nur Suboptimal. Am besten du holst dir 
das Bild auf deinen Server, manipulierst es und legst es in ein 
Cacheverzeichnis. Ueber einen Cronjob, CarbargeCollection etc. aktualisiert 
du das ganze. Oder muss es immer aktuell sein, waere dann natuerlich 
unguenstig das mit dem Cache.

Gruss
Joerg Behrens

--
TakeNet GmbH                        Mobil: 0171/60 57 963       
D-97080 Wuerzburg                   Tel: +49 931 903-2243       
Alfred-Nobel-Straße 20              Fax:+49 931 903-3025


php::bar PHP Wiki   -   Listenarchive