fopen und fsocketopen schlagen fehl
fopen und fsocketopen schlagen fehl
am 13.11.2006 23:42:14 von Martin Runge
Hallo,
ich habe folgendes Problem und zwar versuche ich eine Bilddatei von
einer HTTP Adresse zu öffnen und darzustellen mit "imagecreatefromgif"
und vorher "fopen", nur leider steigt mein Skript immer wieder aus mit
einem Timeout, dass es die Datei nicht geben würde.
Im Browser kann ich mir die Datei aber anzeigen lassen.
Brauche dringend Hilfe dafür.
Danke schonmal im Voraus.
Gruß
MTC
Re: fopen und fsocketopen schlagen fehl
am 14.11.2006 03:21:33 von Gerhard Pfeiffer
Hallo,
* Martin Runge :
> ich habe folgendes Problem und zwar versuche ich eine Bilddatei von
> einer HTTP Adresse zu öffnen und darzustellen mit "imagecreatefromgif"
> und vorher "fopen", nur leider steigt mein Skript immer wieder aus mit
> einem Timeout, dass es die Datei nicht geben würde.
>
> Im Browser kann ich mir die Datei aber anzeigen lassen.
Meine erste Vermutung wäre, dass am Server ein Packetfilter läuft, der
verhindert, dass dein php-script ausgehende TCP/IP-Verbindungen macht.
Ciao,
Gerhard
Re: fopen und fsocketopen schlagen fehl
am 14.11.2006 07:34:00 von Claus Reibenstein
Martin Runge schrieb:
> ich habe folgendes Problem und zwar versuche ich eine Bilddatei von
> einer HTTP Adresse zu öffnen und darzustellen mit "imagecreatefromgif"
> und vorher "fopen", nur leider steigt mein Skript immer wieder aus mit
> einem Timeout, dass es die Datei nicht geben würde.
Wie sieht denn dein fopen() aus?
GruÃ. Claus
--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /
Re: fopen und fsocketopen schlagen fehl
am 14.11.2006 17:37:28 von Martin Runge
Hallo Claus,
als erstes wollte ich es natürlich anders probieren und zwar über das
"imagecreatfromgif".
Mein Hintergrund ist der dass ich mehrere Bilder von einer Webadresse zu
einem zusammenfügen möchte und diese dann als ein Bild ausgeben.
Der Code unten ist halt nur fürs Prinzip, wenn es funktioniert würde ich
das natürlich alles in Schleifen packen.
$url = "........";
$bild1 = imagecreatefromgif($url);
$bild2 = imagecreatefromgif("x41.gif");
$bild3 = imagecreatefromgif("x42.gif");
$bild4 = imagecreatefromgif("x43.gif");
$xsize = 130;
$ysize = 120;
$im = imagecreatetruecolor(260,240);
imagecopy ($im,$bild1, 0, 0, 0,0,$xsize,$ysize);
imagecopy ($im,$bild2, 130, 0, 0,0,$xsize,$ysize);
imagecopy ($im,$bild3, 0, 120, 0,0,$xsize,$ysize);
imagecopy ($im,$bild4, 130, 120, 0,0,$xsize,$ysize);
imagegif($im);
imagedestroy($bild1);
imagedestroy($bild2);
imagedestroy($bild3);
imagedestroy($bild4);
imagedestroy($im);
Als das aber nicht funkioniert hatte, habe ich dann mit "fopen()"
experimentiert und zwar hab ich statt "imagecreatefromgif($url)"
es so geschrieben:
$handle = fopen($url,"r");
$bild1 = imacreatefromgif($handle)
Keine Ahnung ob das richtig ist oder nicht.
GruÃ
Martin
Claus Reibenstein schrieb:
> Martin Runge schrieb:
>
>> ich habe folgendes Problem und zwar versuche ich eine Bilddatei von
>> einer HTTP Adresse zu öffnen und darzustellen mit "imagecreatefromgif"
>> und vorher "fopen", nur leider steigt mein Skript immer wieder aus mit
>> einem Timeout, dass es die Datei nicht geben würde.
>
> Wie sieht denn dein fopen() aus?
>
> GruÃ. Claus
Re: fopen und fsocketopen schlagen fehl
am 14.11.2006 18:21:40 von Sven Drieling
Martin Runge wrote:
Hallo,
> $url =3D "........";
> $bild1 =3D imagecreatefromgif($url);
> $bild2 =3D imagecreatefromgif("x41.gif");
> $handle =3D fopen($url,"r");
Daraus geht nicht hervor, was in $url bei Dir drinsteht. Niemand
weiß, was Du schon alles probiert hast und konkret machts, wenn
Du das was Du machts, nicht konkret beschreibst.
=20
Gibt bei Dir folgende Zeile den HTML-Quelltext von www.example.org
aus? Falls nicht welche Fehlermeldung erscheint und wie lange
dauert es bis dahin?
=20
echo "
", htmlentities(join('', file('http://www.example.org')))=
,
"
";=20
=20
Stimmt hoffentlich so, ist ungetestet.
=20
=20
Laufen Dein Web-Browser und Dein PHP-Skript auf demselben Rechner?
=20
Falls ja, ist in Deinem Web-Browser ein HTTP-Proxy konfiguriert?
Das Port 80 geblockt wird, während der Web-Browser über den
Proxy rauskommt erscheint mir auch das wahrscheinlichste zu sein.
=20
Stimmt die im Skript stehende URL mit der im Browser-Fenster stehenden=
überein?
=20
tschuess
[|8:)
Re: fopen und fsocketopen schlagen fehl
am 14.11.2006 18:37:27 von Martin Runge
Hallo
danke für die Mühe.
Ich habe es hinbekommen und es war wirklich ein Firewall Problem.
Der Rest ergab sich dann von selbst.
Gruß
Martin
Sven Drieling schrieb:
> Martin Runge wrote:
>
> Hallo,
>
>> $url = "........";
>> $bild1 = imagecreatefromgif($url);
>> $bild2 = imagecreatefromgif("x41.gif");
>
>> $handle = fopen($url,"r");
>
> Daraus geht nicht hervor, was in $url bei Dir drinsteht. Niemand
> weiß, was Du schon alles probiert hast und konkret machts, wenn
> Du das was Du machts, nicht konkret beschreibst.
>
> Gibt bei Dir folgende Zeile den HTML-Quelltext von www.example.org
> aus? Falls nicht welche Fehlermeldung erscheint und wie lange
> dauert es bis dahin?
>
> echo "
", htmlentities(join('', file('http://www.example.org'))),
> "
";
>
> Stimmt hoffentlich so, ist ungetestet.
>
>
> Laufen Dein Web-Browser und Dein PHP-Skript auf demselben Rechner?
>
> Falls ja, ist in Deinem Web-Browser ein HTTP-Proxy konfiguriert?
> Das Port 80 geblockt wird, während der Web-Browser über den
> Proxy rauskommt erscheint mir auch das wahrscheinlichste zu sein.
>
> Stimmt die im Skript stehende URL mit der im Browser-Fenster stehenden
> überein?
>
>
> tschuess
> [|8:)