[PHP/GD] Imagecreatefromjpg probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit met een probleem in een script waarin de geüploade afbeeldingen niet goed verwerkt worden.
Op sommige afbeeldingen wordt het script wél uitgevoerd zoals het hoort, maar bij de meeste afbeeldingen (deze beginnen en eindigen allemaal met de correcte hex code) krijg ik iedere keer een melding dat de afbeelding niet kon worden gemaakt.
En soms krijg ik het ook voor dat de grote versie van de afbeelding wél goed wordt verwerkt, en de kleine afbeelding niet.

Ik kan maar geen oplossing vinden (evenmin op het internet).
Het enige dat ik vind is dat er soms problemen kunnen optreden met verkeerd afgesloten jpg bestanden en de foto's van een bepaald cameratoestel, maar dit is hier niet van toepassing.

Het script loopt vast op regel 13 omdat alles waar $bron gebruikt wordt de mist in gaat.
Echter, dit is toch de manier om afbeeldingen in te lezen?

Kunnen jullie me verder helpen?
(In dit script gebruik ik imagecreatefromstring om aan tonen dat ik wel degelijk moeite heb gedaan ;))
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
ini_set("memory_limit", "64M");
$maximum_thumb_breedte = 180;
$maximum_breedte = 640;
$maximum_thumb_hoogte = 180;
$maximum_hoogte = 480;

$strFouten = '';

    for($i = 0; $i < count($_FILES['afbeelding']['name']);$i++) {

            // Het probleem zit 'm denk ik hier,
            //(Dit imagecreatefromjpg alternatief werkt evenmin btw)
            $bron = @imagecreatefromstring(fread(fopen($_FILES['afbeelding']['tmp_name'][$i], "r"), fileSize($_FILES['afbeelding']['tmp_name'][$i])));
            //Hoogte en breedte v/d afbeelding verkrijgen
            $breedte = imageSX($bron);
            $hoogte = imageSY($bron);
            //verhouding bepalen

            //nieuwe afmetingen berekenen
            if($breedte < $hoogte) {
                // Staand
                $type='staand';
                if($hoogte > $maximum_hoogte) {
                    $ratio = $hoogte/$breedte;
                    $nieuwe_hoogte = $maximum_hoogte;
                    $nieuwe_breedte = $nieuwe_hoogte/$ratio;
                } else {
                    $ratio = $hoogte/$breedte;
                    $nieuwe_breedte = $breedte;
                    $nieuwe_hoogte = $hoogte;
                }
                if($hoogte > $maximum_thumb_hoogte) {
                    $nieuwe_thumb_hoogte = $maximum_thumb_hoogte;
                    $nieuwe_thumb_breedte = $nieuwe_thumb_hoogte/$ratio;
                } else {
                    $nieuwe_thumb_breedte = $breedte;
                    $nieuwe_thumb_hoogte = $hoogte;
                }
            } else {
                // Liggend
                $type='liggend';
                if($breedte > $maximum_breedte) {
                    $ratio = $breedte/$hoogte;
                    $nieuwe_breedte = $maximum_breedte;
                    $nieuwe_hoogte = $nieuwe_breedte/$ratio;
                } else {
                    $nieuwe_hoogte = $hoogte;
                    $nieuwe_breedte = $breedte;
                }
                if($breedte > $maximum_thumb_breedte) {
                    $nieuwe_thumb_breedte = $maximum_thumb_breedte;
                    $nieuwe_thumb_hoogte = $nieuwe_thumb_breedte/$ratio;
                } else {
                    $nieuwe_thumb_hoogte = $hoogte;
                    $nieuwe_thumb_breedte = $breedte;
                }
            }


            //Nieuwe true color afbeelding met nieuwe afmetingen genereren
            $doel = @imagecreatetruecolor($nieuwe_breedte, $nieuwe_hoogte);
            $doel_thumb = @imagecreatetruecolor($nieuwe_thumb_breedte, $nieuwe_thumb_hoogte);
            if(!$doel) $strFouten .= "Nieuwe afbeelding kan niet aangemaakt worden. Gelieve een andere jpg afbeelding te nemen.";
            //Kopieer en schaal oud naar nieuw
            imagecopyresampled($doel, $bron, 0,0,0,0,$nieuwe_breedte, $nieuwe_hoogte, $breedte, $hoogte);
            imagecopyresampled($doel_thumb, $bron, 0,0,0,0,$nieuwe_thumb_breedte, $nieuwe_thumb_hoogte, $breedte, $hoogte);
            //wegschryven die handel
            ob_start();
            ImageJPEG($doel, '', 75);
            $buffer = ob_get_contents();
            ob_end_clean();

            ob_start();
            ImageJPEG($doel_thumb, '', 75);
            $buffer_thumb = ob_get_contents();
            ob_end_clean();

            $bestandsnaam = '../img/'.$_FILES['afbeelding']['name'][$i];
            $bestandsnaam_thumb = '../img/klein/'.$_FILES['afbeelding']['name'][$i];


            // Duplicaten overschrijven
            if(is_file($bestandsnaam)) {
                if(!unlink($bestandsnaam)) {
                    echo("Het bestaande bestand kon niet verwijderd worden");
                }
            }

            if(is_file($bestandsnaam_thumb)) {
                if(!unlink($bestandsnaam_thumb)) {
                    echo("Het bestaande bestand kon niet verwijderd worden");
                }
            }


            $handle = fopen($bestandsnaam, 'ab'); //wegschrijven
            $handle_thumb = fopen($bestandsnaam_thumb, 'ab');
            if(fwrite($handle, $buffer) && fwrite($handle_thumb, $buffer_thumb)) {
                //SQL
                $toevoeg_db->query("INSERT INTO tblimg(img_naam, img_beschrijving, img_type) VALUES('".$_FILES['afbeelding']['name'][$i]."', '".$_POST['arrBeschrijving'][$i]."', '".$type."' )");
            } else {
            $strFouten .= "Er is een fout opgetreden bij het opladen van afbeelding nummer $i.";
            }
            fclose($handle);
            fclose($handle_thumb);
        }


Php info:
GD Support enabled
GD Version bundled(2.0.28 compatible)
JPG Support enabled

Het gaat hier btw om Usbwebserver 3

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je onderdrukt een foutmelding op regel 13... Nooit doen tijdens het ontwikkelen/testen! Haal die @ eens weg en kijk welke melding je krijgt.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

En op regel 100 introduceer je een pracht van een SQL insertion kandidaat. Nooit zomaar $_POST[] waarden in je SQL query opnemen.
Wat als iemand als omschrijving ' ",""); drop table tblimg; --' intikt?

[ Voor 22% gewijzigd door Verwijderd op 03-06-2006 17:02 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Je hebt gelijk 8)7

De relevante foutmeldingen zijn:

Warning: fread(): supplied argument is not a valid stream resource in F:\Webserver\Root\inc\upload.afb.php on line 13

Warning: imagecreatefromstring() [function.imagecreatefromstring]: Empty string or invalid image in F:\Webserver\Root\inc\upload.afb.php on line 13

@ Afterlife:
De waarden worden eerst gevalideert en pas wanneer deze aan alle voorwaarden voldoen wordt dit script uitgevoerd. Maar toch bedankt voor de opmerking.

[ Voor 20% gewijzigd door Verwijderd op 03-06-2006 17:00 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Trek die functies eens uit elkaar, zoals het hoort. Dan kun je de file tenminste ook netjes closen na afloop.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Peter
  • Registratie: Januari 2005
  • Laatst online: 13-09 17:10
Misschien zou je ook eens imagecreatefromjpEg moeten proberen :+

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hehe, heb die typo zelfs niet eens opgemerkt :P

Heb imagecreatefromstring dus terug verandert naar imagecreatefromjpeg (;)) en de thumnailmogelijkheid uitgecomment/geschrapt om eventuele conflicten te vermijden, maar het script werkt nog steeds niet :| enige verandering is dat hij nu de foutmelding retourneert in plain text in de afbeelding zelf zonder een warning te echoën.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Heb je mijn opmerking überhaupt geprobeerd?

edit:
@hieronder: een goeie rage is altijd wel aan mij besteed. En ik hou niet eens van voetbal. :+

[ Voor 56% gewijzigd door NMe op 03-06-2006 17:53 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Peter
  • Registratie: Januari 2005
  • Laatst online: 13-09 17:10
-NMe- schreef op zaterdag 03 juni 2006 @ 17:45:
Heb je mijn opmerking überhaupt geprobeerd?
offtopic:
Eng, een nieuwe avatar, ik herkende je amper. Het kleurtje was zo opvallend :P

Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
Verwijderd schreef op zaterdag 03 juni 2006 @ 17:42:
Hehe, heb die typo zelfs niet eens opgemerkt :P

Heb imagecreatefromstring dus terug verandert naar imagecreatefromjpeg (;)) en de thumnailmogelijkheid uitgecomment/geschrapt om eventuele conflicten te vermijden, maar het script werkt nog steeds niet :| enige verandering is dat hij nu de foutmelding retourneert in plain text in de afbeelding zelf zonder een warning te echoën.
misschien moet je de foutmelding oplossen :S :/
en daar is misschien wel zelf debuggen voor nodig

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

BasieP, ik zie geen enkele aanleiding om zo bot te zijn (of om MSN-smilies te gebruiken :r). Laat dat in het vervolg gewoon achterwege of plaats een TR.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Joen
  • Registratie: Juli 2003
  • Laatst online: 09-08 18:34
Wat ik met dergelijke scripts altijd doet is eerst het tijdelijke bestand omzetten in een "normaal" bestand in een door mij zelf opgegeven tijdelijke map, de bewerking die ik er op wil uitvoeren laten uitvoeren en zelf even het bestand in mijn eigen temp-map weer laten verwijderen. Dat werkt bij mij althans altijd wel goed.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dat lijkt me redelijk overbodig. Met images in het geheugen werken is sneller en in veruit de meeste gevallen prima werkbaar.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb het script in (tijdelijke, dus let niet op m'n codeerstijl O+ ) functies herschreven, om problemen met het vermengen van gewone geresizede afbeeldingen en thumbnails te vermijden, bvb in het geheugen. Dus ik heb je opmerking geprobeerd alleen programmeer ik nog niet zo snel ..

Ik heb het script ook in een andere omgeving proberen draaien, ook met GD2 (namelijk Easyphp met gd module ingeschakeld), maar de fouten blijven hetzelfde terwijl ik niets zie dat problemen zou moeten opleveren. De afbeeldingen die ik upload zijn geldig, maar er zijn een paar afbeeldingen die wél werken en de meeste nog altijd niet. Is er een alternatief voor de functie op regel 9 ? (afgezien van createimgfromstring, dewelke juist hetzelfde resultaat oplevert).
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
ini_set("memory_limit", "64M");

$strFouten = '';

    for($i = 0; $i < count($_FILES['afbeelding']['name']);$i++) {

            // De imagecreatefromjpeg zou geen problemen moeten opleveren, toch ? ;(
            $bron = imagecreatefromjpeg($_FILES['afbeelding']['tmp_name'][$i]);
            $informatie = explode(',',dimensies(imagesy($bron),imagesx($bron)));

            if(wegschrijven($bron,false,$informatie,$_FILES['afbeelding']['name'][$i]) && wegschrijven($bron,true,$informatie,$_FILES['afbeelding']['name'][$i])) {
                //SQL
                $toevoeg_db->query("INSERT INTO tblimg(img_naam, img_beschrijving, img_type) VALUES('".$_FILES['afbeelding']['name'][$i]."', '".$_POST['arrBeschrijving'][$i]."', '".$informatie[0]."' )");
            } else {
            $strFouten .= "Er is een fout opgetreden bij het opladen van afbeelding nummer $i.";
            }
        }

function wegschrijven($bronbestand,$thumbnail,$informatie,$naam) {
            if($thumbnail==true) {
                $nieuwe_breedte = $informatie[4];
                $nieuwe_hoogte = $informatie[3];
                $pad='../img/klein/';
            } else {
                $nieuwe_breedte = $informatie[2];
                $nieuwe_hoogte = $informatie[1];
                $pad='../img/';
            }
            //Nieuwe true color afbeelding met nieuwe afmetingen genereren
            $doel = imagecreatetruecolor($nieuwe_breedte, $nieuwe_hoogte);

            if(!$doel) $strFouten .= "Nieuwe afbeelding kan niet aangemaakt worden. Gelieve een andere jpg afbeelding te nemen.";
            //Kopieer en schaal oud naar nieuw
            imagecopyresampled($doel, $bronbestand, 0,0,0,0,$nieuwe_breedte, $nieuwe_hoogte, imagesx($bronbestand), imagesy($bronbestand));
            //imagecopyresampled($doel_thumb, $bron, 0,0,0,0,$nieuwe_thumb_breedte, $nieuwe_thumb_hoogte, $breedte, $hoogte);
            //wegschryven die handel
            ob_start();
            ImageJPEG($doel, '', 75);
            $buffer = ob_get_contents();
            ob_end_clean();

            $bestandsnaam = $pad.$naam;

            // Duplicaten 
            if(is_file($bestandsnaam)) {
                if(!unlink($bestandsnaam)) {
                    echo("Het bestaande bestand kon niet verwijderd worden");
                }
            }

            $handle = fopen($bestandsnaam, 'ab'); //wegschrijven
            if(fwrite($handle, $buffer)) {
                $bln = True;
            } else {
                $bln = False;
            }
            fclose($handle);
            return $bln;
}

function dimensies($hoogte, $breedte) {
$maximum_thumb_breedte = 180;
$maximum_breedte = 640;
$maximum_thumb_hoogte = 180;
$maximum_hoogte = 480;
                // nieuwe afmetingen berekenen
                if($breedte < $hoogte) {
                // Staand
                $type='staand';
                if($hoogte > $maximum_hoogte) {
                    $ratio = $hoogte/$breedte;
                    $nieuwe_hoogte = $maximum_hoogte;
                    $nieuwe_breedte = $nieuwe_hoogte/$ratio;
                } else {
                    $nieuwe_breedte = $breedte;
                    $nieuwe_hoogte = $hoogte;
                }
                if($hoogte > $maximum_thumb_hoogte) {
                    $ratio = $hoogte/$breedte;
                    $nieuwe_thumb_hoogte = $maximum_thumb_hoogte;
                    $nieuwe_thumb_breedte = $nieuwe_thumb_hoogte/$ratio;
                } else {
                    $nieuwe_thumb_breedte = $breedte;
                    $nieuwe_thumb_hoogte = $hoogte;
                }
            } else {
                // Liggend
                $type='liggend';
                if($breedte > $maximum_breedte) {
                    $ratio = $breedte/$hoogte;
                    $nieuwe_breedte = $maximum_breedte;
                    $nieuwe_hoogte = $nieuwe_breedte/$ratio;
                } else {
                    $nieuwe_hoogte = $hoogte;
                    $nieuwe_breedte = $breedte;
                }
                if($breedte > $maximum_thumb_breedte) {
                    $ratio = $breedte/$hoogte;
                    $nieuwe_thumb_breedte = $maximum_thumb_breedte;
                    $nieuwe_thumb_hoogte = $nieuwe_thumb_breedte/$ratio;
                } else {
                    $nieuwe_thumb_hoogte = $hoogte;
                    $nieuwe_thumb_breedte = $breedte;
                }
            }
            return $type.','.$nieuwe_hoogte.','.$nieuwe_breedte.','.$nieuwe_thumb_hoogte.','.$nieuwe_thumb_breedte;
}

?>

[ Voor 6% gewijzigd door Verwijderd op 03-06-2006 18:47 . Reden: Spelfout ]


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
-NMe- schreef op zaterdag 03 juni 2006 @ 18:02:
BasieP, ik zie geen enkele aanleiding om zo bot te zijn (of om MSN-smilies te gebruiken :r). Laat dat in het vervolg gewoon achterwege of plaats een TR.
offtopic:
moet ik overal :) en ;) achter zetten dan? ik bedoel niks bot hoor, alleen omdat ik er niet bij lach :) :) :) vinden somige :) mensen dat denk ik wat eerder ;)

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zet eens dit neer vóór regel 9:
PHP:
1
2
3
if (!file_exists($_FILES['afbeelding']['tmp_name'][$i])) {
  die('Dat bestand bestaat helemaal niet!');
}

Ik vermoed dat die files gewoon niet (volledig) geupload worden ofzo.
BasieP schreef op zaterdag 03 juni 2006 @ 18:47:
offtopic:
moet ik overal :) en ;) achter zetten dan? ik bedoel niks bot hoor, alleen omdat ik er niet bij lach :) :) :) vinden somige :) mensen dat denk ik wat eerder ;)
offtopic:
Als je die gebruikt had zou de combinatie met de botte toon in je post je zelfs arrogant hebben doen overkomen. Misschien ben je je er zelf niet van bewust, maar ik lees echt een negatieve ondertoon in je bericht en moet moeite doen om iets anders te lezen. Maar om dit topic niet verder te vervuilen: neem even contact met me op via mail als je hierover door wil gaan. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 19:39
Als ik iets met een file doe, controleer ik eerst of die file bestaat.

edit: wat die mod hierboven zegt, dus.

[ Voor 24% gewijzigd door StevenK op 03-06-2006 19:14 ]

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-NMe- : Je hebt (weeral eens) gelijk :Y) , het bestand werd blijkbaar niet of slechts gedeeltelijk geupload.

En je hebt me in de goede richting gestuurd, het probleem zat blijkbaar client-sided 8)7
Ik had aan die 'on die' ook de ['error'] opgevraagd en wat blijkt, deze retourneerde 2 (De grootte van het bestand is groter dan de in html gegeven MAX_FILE_SIZE.).

In m'n door php gegenereerd script rekende ik per met js dynamisch toegevoegde input type="file" maar 3072 BYTE toe ipv KB. Een simpele rekenfout (*1024 te weinig :X ) zorgde ervoor dat ik al een hele week loop te piekeren naar een php (!) oplossing voor m'n probleem. Ongelofelijk dat ik over zo een simpele fout zo lang heb gedaan.

-NMe-, ik bedank je uit de grond van m'n hart voor de tip die je me gegeven hebt, en aan de andere personen die hier gereageerd hebben ook bedankt. Het probleem is dus opgelost.

Acties:
  • 0 Henk 'm!

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 21-07 23:16

Bio

Als het probleem opgelost is, mag ik dan misschien dit topic kapen? :)

ik heb dus met deze functie ook een probleem. ik maak een plaatje met php, maar om een soort antialiasing effect te krijgen maak ik hem 2x te groot, om hem vervolgens met imagecopyresampled te resamplen.
PHP:
1
2
3
4
5
6
7
8
9
<?php
header('Content-type: image/jpeg');

$image_p = imagecreate(600,600);
$image = imagecreatefromjpeg("icon.php");
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 600,600,1200,1200);

imagejpeg($image_p);
?>

Nu gaat het dus fout bij imagecreatefromjpeg. hij zegt: 'icon.php' is not a valid JPEG file.

Kan je dus een php-afbeelding niet resampelen, of gaat er wat anders fout?

[ Voor 9% gewijzigd door Bio op 03-06-2006 22:38 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

imagecreatefromjpeg opent de file vanuit je bestandssysteem. Hij wordt dus niet uitgevoerd. Je zal dus ofwel eerst het bestand moeten opslaan, ofwel de code uit icon.php moeten overnemen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 21-07 23:16

Bio

-NMe- schreef op zaterdag 03 juni 2006 @ 22:53:
imagecreatefromjpeg opent de file vanuit je bestandssysteem. Hij wordt dus niet uitgevoerd. Je zal dus ofwel eerst het bestand moeten opslaan, ofwel de code uit icon.php moeten overnemen.
Wat bedoel je met de code overnemen? > het resampelen in het bestand icon.php zelf laten uitvoeren?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Alles in hetzelfde bestand laten doen inderdaad. Wat je ook kan doen is valsspelen en de PHP laten denken dat je een andere webserver benadert:
PHP:
5
$image = imagecreatefromjpeg("http://jouwserver.com/icon.php");

Nadeel daarvan is wel dat het je bandbreedte kost en het wat trager is. Voordeel is dat je deze code-opzet kan gebruiken. Needless to say: ik zou het zo in elk geval niet oplossen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1