PHP does not specify to only output html files, it can generate dynamic gif files. I encountered some problems when using php to dynamically generate gif images, which have been solved. I am using php4.05 (for win32) + apache3.1.2_win32.
Problem 1: The program that dynamically generates gif cannot be started at all
I wrote an example about using php to generate gif. When I ran it, I found that the page just couldn't be refreshed, as if it was dead, and the browser didn't have any error prompts.
Solution: Modify php.ini in the directory where php is located.
Modify php.ini in the path where php is installed (note: it must be php.ini in the php path) extension_dir = the path extensions where php is installed (for example: c:phpextensions).
Question 2: php_gd.dll does not support gif.
I loaded the php_gd.dll dynamic link library at the beginning of the program: dl("php_gd.dll"); but when running the program, the following result appeared:
<br><b >Warning</b>: ImageGif: No GIF support in this PHP build in <b>d:apachehtdocsgif2.php3</b> on line <b>12</b><br>.
Solution: use php4.05
Only then did I discover that the problem written in the book was that php_gd.dll could not support generating gif at all. After being guided by an expert, I found out that my version of php4.04 for win32 lacked php_gd_gif.dll, so I downloaded a higher version of php4. .05, which contains php_gd_gif.dll that supports generating dynamic gif.
Question 3: A warning appears: Warning: Function registration failed - duplicate name - imagearc in d:apachehtdocsgif2.php3 on line 3.
The program is as follows:
<?
dl("php_gd_gif.dll");
header("content-type:image/gif");
$im = imagecreate(400,30);
$black = imagecolorallocate($im,0,0,0);
$white = imagecolorallocate($im,255,255,255);
imageline($im,200,15,215,15,$white);
imagestring($im, 5, 4, 10, "This is a Gif", $white);
imagegif($im);
imagedestroy($im);
?>
Solution: Modify the program or php.ini
The dl() function is used to load dll, but if the ";" in front of the required dll has been removed in the php.ini file, then do not use this function at this time.
If the ";" before extension=php_gd_gif.dll in the ini file is not removed, then dl("php_gd_gif.dll"); must be used to load it. In short: the two are different from each other, otherwise the server will think it is a duplicate name.