|
Posted by gerrymcc on 08/07/07 10:05
gosha bine <stereofrog@gmail.com> wrote:
>hi there
>just a few lines:
>> <?php
>if(key($_GET) == 'img') {
>> header ("Content-type: image/png");
>>
>> $t = imagecreate(400,150); // create a blank canvas
>> $c = imagecolorallocate($t,0,255,0); // set color for the first
>> thing
>> imagefilledrectangle($t,10,10,50,50,$c); // draw a rectange
>> $c = imagecolorallocate($t,215,20,20); // set color for the next
>> imagefilledellipse($t,50,50,75,75,$c); // draw an ellipse
>> $w = "it's not easy to learn this stuff!";
>> $c = imagecolorallocate($t,50,50,150);
>> imagestring($t,4,100,70,$w,$c);
>> imagepng($t); // output the image
>> imagedestroy($t); // clear memory, but not the browser
>>
>die(); }
>> /* NOTHING FOLLOWING OUTPUTS */
>>
>> echo "<pre>";
>> var_dump(gd_info());
>> echo "</pre>";
>>
>echo "<img src={$_SERVER['PHP_SELF']}?img>";
>> ?>
>hope this helps.
>PS Looks like you need a better understanding on how http and browsers
>work, do some reading on this.
Thanks very much, that works beautifully; I have only a vague idea
why, so I hope you don't mind a question or two about it.
1) I presume that <img src=etc> sends a GET request to the server,
something like thisFile.php?keyName. The server then looks at the
file again, sees an 'img' key in $_GET and processes the script?
2) I know key() returns the key currently pointed to in the $_GET
array, but there's no way I can see the content of that array, is
there? I did a var_dump($_GET) but that shows an empty array.
As you said, I have a LOT of reading to do :-) I spent a few
hours last night searching; a Google on "http and web browsers"
got many hits on specific browsers and the RFC on HTTP, but little
of the information was useful in the context of understanding scripts
like the above. If you could suggest any resources, that would be
much appreciated too.
Thanks again,
Gerard
[Back to original message]
|