ITメモ
PHP
PHP マニュアル(PHP Official Web)
Basic Knowlege / 基礎知識
「CentOS」にPHPをインストール方法PHPファイルの作り方外部「クラスファイル」「関数ファイル」を読み込む方法変数の使い方定義済み変数の使い方関数の使い方配列の使い方クラスの使い方ヒアドキュメントの使い方PHPの演算子条件分岐
Access Info / アクセス インフォ
IPアドレスを確認する方法アクセスされたURLパスを確認する方法PCとスマートフォンの判定アクセスしたページから特定ページにリダイレクトさせる方法
ファイル・ディレクトリ
ファイルとディレクトリの操作方法(作成・確認・削除)ディレクトリ内のファイル・ディレクトリPath(URL)を配列に格納する方法
ファイルの読み込みと書き込み
「file_get_contents」関数を使ってファイルを読み込む方法「readfile」関数を使ってファイルを読み込む方法「file」関数を使ってファイルを読み込む方法「fread」関数を使ってファイルを読み込む方法「fgets」関数を使ってファイルを読み込む方法「fwrite」関数を使ってファイルに書き込みをする方法
チェック
「is_file」関数 - 指定パスがファイルかをチェックする方法「is_dir」関数 - 指定パスがディレクトリかをチェックする方法
画像ファイル
画像ファイルのIPTC情報を取得する方法 画像ファイルをZipファイル形式でダウンロードさせる画像をコピーする方法画像のキーワード情報を取得する方法画像ファイルから「EXIF」ヘッダを読み込む画像の大きさ・画像情報を取得する
情報
「PHP」の出力系関数 - プログラミングで必須のデータ内容をチェックする方法関数の返り値を複数で受け取る方法使用可能なメモリ使用量を変更する方法mb_send_mail - エンコード変換を行ってメールを送信する「Google」「Goolge Map]に渡した値が文字化けするときの解決方法PHPで日付比較をする方法
文字列
「文字列」の長さを取得する方法【 substr 】「文字列」から一部分を取り出す方法【 explode 】「文字列」を分割する方法【 preg_split 】正規表現で「文字列」を分割するランダムな数字を取得する方法
文字の検索
「strpos」関数で指定文字の最初の位置を確認する方法「preg_match」関数で指定した「正規表現」で検索する方法
文字の置換
「str_replace」関数で指定した文字列を置き換える方法「preg_replace」関数で指定した文字列を置き換える方法
文字の削除
「trim」関数 - 文字列の両端から指定文字を削除する方法「ltrim」関数 - 文字列の先頭から指定文字を削除する方法「rtrim」関数 - 文字列の末尾から指定文字を削除する方法文字列の中にある「文字」を削除する方法「改行」を削除する方法文字列の「空白(スペース)」を削除する方法
配列
配列に値を追加する方法配列の値を削除する方法配列の有無を確認する方法配列の中から重複した値を削除する配列の空の値を削除する配列の並び順を変えるis_array - 変数が配列かを確認するin_array - 配列の中に指定した値があるか確認するimplode - 値の間に文字加えて配列を文字列に変換するarray_merge - 配列と配列を結合する方法
ライブラリ
「PHP」で使えるライブラリの種類「GD」ライブラリの使い方
Server / サーバー
サーバーの最大実行可能時間を変更する





【PHP】「GD」ライブラリの使い方

【PHP】
「GD」ライブラリの使い方




「PHP」では、 プログラムを構成して、画像を生成・編集するシステムを構築することも可能。
画像を作成したり、編集することができる「イメージ関数」は、 「GD」ライブラリをインストールすることで可能になる。








「GD」ライブラリとは


「GD」ライブラリは、PHPで、イメージ形式でイメージファイルを作成・編集したりすることができるライブラリ。

イメージ形式には、「GIF」「PNG」「JPEG」「WBMP」「XPM」などが含まれる。
使用したいイメージ形式によっては、「PHP」・「GD」ライブラリ以外にもライブラリが必要となる可能性もある。


Back





「GD」ライブラリの有効化設定方法


「GD」ライブラリを確認する
yum list | grep php-gd

出力結果
php-gd.x86_64   5.3.3-27.el6_5   updates
「GD」ライブラリが、「php-gd.x86_64」などと表示されます。
表示されたライブラリ名でインストールする。

「GD」ライブラリのインストール
yum -y install php-gd

HTTPサーバーを再起動して、「GD」ライブラリを有効化
/etc/rc.d/init.d/httpd restart

「GD」ライブラリの確認・設定完了。
下記の「phpinfo.php」ファイルを作成して、サーバーに設置して、
ブラウザでアクセスすると、PHPの設定状況が確認できます。
その中に「GD」という項目ができていれば、「GD」ライブラリのインストール完了。

「phpinfo.php」ファイル
<?php phpinfo(); ?>



Back





「GD」ライブラリがサポートするフォーマット


フォーマット読み込み書き込み説明
JPEGtruetrue-
PNGtruetrue-
GIFtruetrue-
XBMtruetrue-
XPMtruefalse-
WBMPtruetrue-
WebPtruetrue-
BMPtruetrue「GD 2.1.0」「PHP 7.2.0」以降で利用可能


Back





「GD」ライブラリの「定義済み定数」


定義済み定数解説
GD_VERSION (string) 「PHP」をコンパイルしたときの「GD」のバージョン
GD_MAJOR_VERSION (int) 「PHP」をコンパイルしたときの「GD」のメジャーバージョン
GD_MINOR_VERSION (int) 「PHP」をコンパイルしたときの「GD」のマイナーバージョン
GD_RELEASE_VERSION (int) 「PHP」をコンパイルしたときの「GD」のリリースバージョン
GD_EXTRA_VERSION (string) 「PHP」をコンパイルしたときの「GD」の "追加" バージョン (beta/rc..)
GD_BUNDLED (int) バンドルされている「GD」を使用する場合は「1」、それ以外の場合は「0」が設定。
IMG_BMP (int) imagetypes() の戻り値として使用。
IMG_GIF (int) imagetypes() の戻り値として使用。
IMG_JPG (int) imagetypes() の戻り値として使用。
IMG_JPEG (int) imagetypes() の戻り値として使用。
注意: この定数の値は IMG_JPG と同じ。
IMG_PNG (int) imagetypes() の戻り値として使用。
IMG_WBMP (int) imagetypes() の戻り値として使用。
IMG_XPM (int) imagetypes() の戻り値として使用。
IMG_WEBP (int) imagetypes() の戻り値として使用。 「PHP」7.0.10 以降で利用可能。
IMG_COLOR_TILED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_STYLED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_BRUSHED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_STYLEDBRUSHED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_TRANSPARENT (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_AFFINE_TRANSLATE (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_SCALE (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_ROTATE (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_SHEAR_HORIZONTAL (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_SHEAR_VERTICAL (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_ARC_ROUNDED (int) スタイル定数。imagefilledarc() 関数が使用。 注意:この定数の値は IMG_ARC_PIE と同じ。
IMG_ARC_PIE (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_ARC_CHORD (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_ARC_NOFILL (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_ARC_EDGED (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_GD2_RAW (int) タイプ変数。imagegd2() 関数が使用。
IMG_GD2_COMPRESSED (int) タイプ変数。imagegd2() 関数が使用。
IMG_EFFECT_REPLACE (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_ALPHABLEND (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_NORMAL (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_OVERLAY (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_MULTIPLY (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_FILTER_NEGATE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_GRAYSCALE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_BRIGHTNESS (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_CONTRAST (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_COLORIZE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_EDGEDETECT (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_GAUSSIAN_BLUR (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_SELECTIVE_BLUR (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_EMBOSS (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_MEAN_REMOVAL (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_SMOOTH (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_PIXELATE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_SCATTER (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
(「PHP」7.4.0 以降で使用可能)
IMAGETYPE_GIF (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPEG (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPEG2000 (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_PNG (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_SWF (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_PSD (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_BMP (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_WBMP (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_XBM (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_TIFF_II (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_TIFF_MM (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_IFF (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JB2 (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPC (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JP2 (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPX (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_SWC (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_ICO (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_WEBP (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。 (「PHP」7.1.0 以降で利用可能)
PNG_NO_FILTER (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_NONE (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_SUB (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_UP (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_AVG (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_PAETH (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_ALL_FILTERS (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
IMG_FLIP_VERTICAL (int) imageflip() で使用。「PHP」5.5.0 以降で使用可能。
IMG_FLIP_HORIZONTAL (int) imageflip() で使用。「PHP」5.5.0 以降で使用可能。
IMG_FLIP_BOTH (int) imageflip() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BELL (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BESSEL (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BILINEAR_FIXED (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BICUBIC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BICUBIC_FIXED (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BLACKMAN (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BOX (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BSPLINE (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_CATMULLROM (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_GAUSSIAN (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_GENERALIZED_CUBIC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_HERMITE (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_HAMMING (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_HANNING (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_MITCHELL (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_POWER (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_QUADRATIC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_SINC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_NEAREST_NEIGHBOUR (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_WEIGHTED4 (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_TRIANGLE (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。


Back





「GD」ライブラリとImage関数


「GDライブラリ」と「Image関数」の一覧

関数説明
gd_info現在インストールされているGDライブラリに関する情報を取得。
getimagesize画像の大きさを取得。
getimagesizefromstring画像の大きさを文字列から取得。
image_type_to_extension画像形式からファイルの拡張子を取得。
image_type_to_mime_typegetimagesize, exif_read_data, exif_thumbnail, exif_imagetypeから返される 画像形式のMIMEタイプを取得。
image2wbmp画像をブラウザあるいはファイルに出力。
imageaffine元の画像を、オプションのクリッピング領域を使ってアフィン変換した画像を返す
imageaffinematrixconcat二つのアフィン変換行列を連結する
imageaffinematrixgetアフィン変換行列を取得。
imagealphablendingイメージのブレンドモードを設定。
imageantialiasアンチエイリアス機能を使用すべきかどうかを判断。
imagearc部分楕円を描画。
imageavif画像をブラウザあるいはファイルに出力。
imagebmpビットマップ画像をブラウザかファイルに出力。
imagechar水平に文字を描画。
imagecharup垂直に文字を描画。
imagecolorallocate画像で使用する色を作成。
imagecolorallocatealpha画像で使用する色を透過度を指定して作成。
imagecoloratピクセルの色のインデックスを取得。
imagecolorclosest指定した色に最も近い色のインデックスを取得。
imagecolorclosestalpha指定した色+アルファ値に最も近い色のインデックスを取得。
imagecolorclosesthwb色合い、白、黒を有する色のインデックスを得る
imagecolordeallocateイメージの色リソースを開放する
imagecolorexact指定した色のインデックスを取得。
imagecolorexactalpha指定した色+アルファ値のインデックスを取得。
imagecolormatchパレットイメージの色を True カラーイメージに近づける
imagecolorresolve指定した色または出来るだけ近い色のインデックスを得る
imagecolorresolvealpha指定した色+アルファ値または最も近い色のインデックスを取得。
imagecolorset指定したパレットインデックスの色を設定。
imagecolorsforindexカラーインデックスからカラーを取得。
imagecolorstotal画像パレットの色数を検出。
imagecolortransparent透明色を定義。
imageconvolutiondiv および offset の係数を使用し、3x3 の畳み込み配列を適用する
imagecopy画像の一部をコピーする
imagecopymergeイメージの一部をコピー、マージする
imagecopymergegrayグレースケールでイメージの一部をコピー、マージする
imagecopyresampled再サンプリングを行いイメージの一部をコピー、伸縮する
imagecopyresized画像の一部をコピーしサイズを変更する
imagecreateパレットを使用する新規画像を作成。
imagecreatefromavif新しい画像をファイルあるいは URL から作成。
imagecreatefrombmp新しい画像をファイルあるいは URL から作成。
imagecreatefromgd2GD2 ファイルまたは URL から新規イメージを生成。
imagecreatefromgd2partGD2 ファイルまたは URL の指定した部分から新規イメージを生成。
imagecreatefromgdGD ファイルまたは URL から新規イメージを生成。
imagecreatefromgif新しい画像をファイルあるいは URL から作成。
imagecreatefromjpeg新しい画像をファイルあるいは URL から作成。
imagecreatefrompng新しい画像をファイルあるいは URL から作成。
imagecreatefromstring文字列の中のイメージストリームから新規イメージを作成。
imagecreatefromtga新しい画像をファイルあるいは URL から作成。
imagecreatefromwbmp新しい画像をファイルあるいは URL から作成。
imagecreatefromwebp新しい画像をファイルあるいは URL から作成。
imagecreatefromxbm新しい画像をファイルあるいは URL から作成。
imagecreatefromxpm新しい画像をファイルあるいは URL から作成。
imagecreatetruecolorTrueColor イメージを新規に作成。
imagecrop指定した矩形に画像をクロップ。
imagecropauto利用可能なモードを指定して、画像を自動的にクロップ。
imagedashedline破線を描画。
imagedestroy画像を破棄。
imageellipse楕円を描画。
imagefill塗り潰す
imagefilledarc楕円弧を描画し、塗りつぶす
imagefilledellipse塗りつぶされた楕円を描画。
imagefilledpolygon塗りつぶした多角形を描画。
imagefilledrectangle塗りつぶした矩形を描画。
imagefilltoborder特定色で塗りつぶす
imagefilter画像にフィルタを適用。
imageflip指定したモードで画像を反転させる
imagefontheightフォントの高さを取得。
imagefontwidthフォントの幅を取得。
imageftbboxfreetype2 によるフォントを用いたテキストを囲む箱を取得。
imagefttextFreeType 2 によるフォントを用いてイメージにテキストを描画。
imagegammacorrectGD イメージにガンマ補正を適用。
imagegd2GD2 イメージをブラウザまたはファイルに出力。
imagegdGD イメージをブラウザまたはファイルに出力。
imagegetclip長方形を切り取り、画像として取得。
imagegetinterpolation補間方法を取得。
imagegif画像をブラウザあるいはファイルに出力。
imagegrabscreen画面全体をキャプチャ。
imagegrabwindowウィンドウをキャプチャ。
imageinterlaceインターレースを有効もしくは無効に。
imageistruecolor画像が truecolor かどうか調べる
imagejpeg画像をブラウザあるいはファイルに出力。
imagelayereffectアルファブレンディングフラグを設定し、レイヤ効果を使用。
imageline直線を描画。
imageloadfont新しいフォントを読み込む
imageopenpolygonオープンポリゴンを描画。
imagepalettecopyあるイメージから他のイメージにパレットをコピー。
imagepalettetotruecolorパレット形式の画像を true color に変換。
imagepngPNG イメージをブラウザまたはファイルに出力。
imagepolygon多角形を描画。
imagerectangle矩形を描画。
imageresolution画像の解像度を取得/設定。
imagerotate指定された角度で画像を回転。
imagesavealphaPNG 画像を保存。際に、完全なアルファチャネル情報を保存。かどうかを指定。
imagescale幅と高さを指定して、画像の縮尺を変更。
imagesetbrush線の描画用にブラシイメージを設定。
imagesetclip切り取る長方形を設定。
imagesetinterpolation補間方法を設定。
imagesetpixel点を生成。
imagesetstyle線描画用のスタイルを設定。
imagesetthickness線描画用の線幅を設定。
imagesettile塗りつぶし用のイメージを設定。
imagestring文字列を水平に描画。
imagestringup文字列を垂直に描画。
imagesx画像の幅を取得。
imagesy画像の高さを取得。
imagetruecolortopaletteTrueColor イメージをパレットイメージに変換。
imagettfbboxTypeType フォントを使用したテキストの bounding box を生成。
imagettftextTrueType フォントを使用してテキストを画像に書き込む
imagetypesこの PHP がサポートしている画像形式を返す
imagewbmp画像をブラウザあるいはファイルに出力。
imagewebpWebP 画像をブラウザあるいはファイルに出力。
imagexbmXBM 画像をブラウザあるいはファイルに出力。
iptcembedバイナリ IPTC データを JPEG イメージに埋めこむ
iptcparseバイナリの IPTC ブロックのタグをパース。
jpeg2wbmpJPEG画像をWBMP画像に変換。
png2wbmpPNG画像をWBMP画像に変換。
  
GdImageGdImage クラス
GdFontGdFont クラス


Back