ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して GIF を動的に生成するときに発生する問題と解決策

PHP を使用して GIF を動的に生成するときに発生する問題と解決策

高洛峰
高洛峰オリジナル
2016-12-02 10:33:201217ブラウズ

php は HTML ファイルの出力のみを指定するのではなく、動的な GIF ファイルを生成することができます。 php を使用して gif 画像を動的に生成するときにいくつかの問題が発生しましたが、php4.05 (win32 用) + apache3.1.2_win32 を使用しています。


問題1: gifを動的に生成するプログラムが全く起動できない

phpを使用してgifを生成する例を書いて実行してみると、あたかもページが更新できないことがわかりました。は停止しており、ブラウザもエラー メッセージは表示されませんでした。

解決策: php が存在するディレクトリの php.ini を変更します

osso.com メンバー selo の助けにより、php がインストールされているパスの php.ini を変更する必要があると言われました (注: 必ず変更する必要があります)。 php パスの php.ini です) extension_dir = php 拡張機能をインストールするパス (例: c:phpextensions)。

質問 2: php_gd.dll は gif をサポートしていません

プログラムの最初に php_gd.dll ダイナミック リンク ライブラリをロードしました: dl("php_gd.dll"); ですが、プログラムを実行すると、次の結果が表示されました:


警告: ImageGif: d:apachehtdocsgif2.php312のこのPHPビルドではGIFはサポートされていません;br>。

解決策: php4.05 を使用してください

この時点で、本に書かれている問題は、php_gd.dll が gif の生成をまったくサポートできないことであることがわかりました。専門家の指導を受けた後、私のバージョンは php4 であることがわかりました。 win32 用の .04 には php_gd_gif.dll がなかったので、動的 gif の生成をサポートする php_gd_gif.dll が含まれる php4.05 の上位バージョンをダウンロードしました。

質問 3: 警告が表示されます: 警告: d:apachehtdocsgif2.php3 の 3 行目で関数の登録に失敗しました - 名前が重複しています

プログラムは次のとおりです:

<
dl("php_gd_gif.dll") ;
header( "content-type:image/gif");

$im = imagecreate(400,30);
$black = imagecolorallocate($im,0,0,0); im,255,255,255) ;
imageline($im,200,15,215,15,$white);
imagestring($im, 5, 4, 10, "これは Gif", $white); );
imagedestroy ($im);


?>

解決策: プログラムまたは php.ini を変更します。

dl() 関数は DLL をロードするために使用されますが、php の前にある必要な DLL を変更する場合.ini ファイル「;」が削除されている場合は、現時点ではこの機能を使用しないでください。

ini ファイル内の extension=php_gd_gif.dll の前の「;」が削除されていない場合は、dl("php_gd_gif.dll"); を使用してロードする必要があります。サーバーはそれが重複した名前であると判断します。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。