ホームページ >バックエンド開発 >PHPチュートリアル >php ob_start() は変数に画像ストレージを実装します。program_PHP チュートリアル

php ob_start() は変数に画像ストレージを実装します。program_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:14:17887ブラウズ

PHP GD ライブラリを使用して画像を処理した後は、imagejpeg() を使用して画像を出力またはファイルに書き込むだけです。たとえば、ファイルを保存する場合は、これを行う必要はありません。画像をデータベースに書き込むには、画像を変数に書き込み、ob_start() で保存してキャッシュ ob_get_contents() を有効にし、キャッシュを取得して変数に画像を書き込む必要があります

コードは次のとおりです コードをコピー

$imgPath ="画像アドレス" ;
//画像情報を取得 $imgPathはリモートアドレスでも可

list( $srcWidth, $srcHeight, $type ) = getimagesize( $imgPath );
...
switch( $type ) {
ケース 1: $imgCreate = 'ImageCreateFromGIF';
ケース 2: $imgCreate = 'ImageCreateFromJPEG';
ケース 3: $imgCreate = 'ImageCreateFromPNG';
デフォルト: false を返します;
}

$orig = $imgCreate( $imgPath );
...
// キャッシュを有効にする
ob_start();

//画像を生成する
スイッチ($type)
{
ケース 1: imagegif($orig);
ケース 2: imagejpeg($orig) // 最高品質
; ケース 3: imagepng($orig); // 圧縮なし。 デフォルト: エコーブレイク;
}

//画像を変数に保存します

$imageCode = ob_get_contents();

ob_end_clean();

個人的には、画像を変数に保存することはお勧めしません。これはリソースの無駄になります。ここでテストするのも楽しいです。

http://www.bkjia.com/PHPjc/629003.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629003.html技術記事 php GD ライブラリで画像を処理した後は、画像をファイルに出力または書き込むためにのみ imagejpeg() を使用できます。たとえば、画像を保存する場合は、これを行う必要はありません。データベース、イメージを書き込む必要があります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。