PHP は HTML ファイルを出力するだけではなく、動的な GIF ファイルを生成することができます。 php を使用して gif 画像を動的に生成するときにいくつかの問題が発生しましたが、php4.05 (win32 用) + apache3.1.2_win32 を使用しています。
問題 1: gif を動的に生成するプログラムがまったく起動できない
php を使用して GIF を生成する例を書きましたが、それを実行すると、ページが死んだかのように更新できず、ブラウザにはエラー プロンプトが表示されませんでした。
解決策: php が存在するディレクトリの php.ini を変更します。
php がインストールされているパスの php.ini を変更します (注: php パスの php.ini である必要があります) extension_dir = php がインストールされているパスの拡張子 (for例: c:phpextensions)。
質問 2: php_gd.dll は gif をサポートしていません。
プログラムの最初に php_gd.dll ダイナミック リンク ライブラリをロードしました: dl("php_gd.dll"); プログラムを実行すると、次の結果が表示されました
。 <b >警告</b>: ImageGif: この PHP ビルドの <b>d:apachehtdocsgif2.php3</b> 行目 <b>12</b><br> では GIF はサポートされていません。
解決策: php4.05 を使用します。
この本に書かれている問題は、php_gd.dll が gif の生成をまったくサポートできないことだということを初めて知りました。専門家の指導を受けた後、私の Win32 用 php4.04 のバージョンには php_gd_gif.dll が欠けていることがわかりました。 php4 の上位バージョンをダウンロードしました。これには、動的 gif の生成をサポートする php_gd_gif.dll が含まれています。
質問 3: 警告が表示されます。 警告: d:apachehtdocsgif2.php3 の 3 行目で、関数の登録に失敗しました - 名前が重複しています - imagearc が表示されます。
プログラムは次のとおりです。
<?
dl("php_gd_gif.dll");
header("コンテンツタイプ:画像/gif");
$im = imagecreate(400,30);
$black = imagecolorallocate($im,0,0,0);
$white = imagecolorallocate($im,255,255,255);
イメージライン($im,200,15,215,15,$white);
imagestring($im, 5, 4, 10, "これは Gif です", $white);
imagegif($im);
imagedestroy($im);
?>
解決策: プログラムまたは php.ini を変更します。
dl() 関数は dll をロードするために使用されますが、必要な dll の前の「;」が php.ini ファイルで削除されている場合は、現時点ではこの関数を使用しないでください。
ini ファイル内の extension=php_gd_gif.dll の前の「;」が削除されていない場合は、dl("php_gd_gif.dll"); を使用してロードする必要があります。重複した名前だと思われます。