PHP does not stipulate 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 Solution: Modify php.ini in the directory where php is located Through the help of osso.com member selo, I was told that I need to modify the 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). Problem 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: Solution: Use php4.05 Question 3: A warning appears: Warning: Function registration failed - duplicate name - imagearc in d:apachehtdocsgif2.php3 on line 3 The procedure is as follows: $im = imagecreate(400,30); imagegif($im); Solution: Modify the program or php.ini
I wrote an example of using php to generate gif. When I ran it, I found that the page could not be refreshed, as if it was dead. When browsing There is no error message from the server.
Warning: ImageGif: No GIF support in this PHP build in d:apachehtdocsgif2.php3 on line 12.
That’s when I discovered that it was a problem written in the book. php_gd.dll could not support generating gif at all. After being guided by an expert, I found out that my version was php4.04 for win32. php_gd_gif.dll is missing, so I downloaded a higher version of php4.05, which contains php_gd_gif.dll that supports generating dynamic gifs.
dl("php_gd_gif.dll");
header("content-type:image/gif");
$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);
imagedestroy($im);
?>
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.