Home  >  Article  >  Backend Development  >  Problems and solutions encountered when using php to dynamically generate gif

Problems and solutions encountered when using php to dynamically generate gif

高洛峰
高洛峰Original
2016-12-02 10:33:201197browse

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 of using php to generate gif. When I ran it, I found that the page could not be refreshed, as if it was dead, and the browser also failed. No error message.

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 php.ini in the path where php is installed (note: it must be php.ini in the php path ) extension_dir = the path to install php extensions (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, this result appeared:


Warning: ImageGif: No GIF support in this PHP build in d:apachehtdocsgif2.php3 on line 12< ;br>.

Solution: Use php4.05

At this time, I discovered 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 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 gifs.

Question 3: Warning: 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

dl() function is used to load dll, but if you change the required dll in front of the php.ini file If ";" has been removed, 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.


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn