PHPでダミー画像(プレースホルダー画像)を表示する「PHP-Dummy-Image-Generator」の利用方法
先日JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法をメモしたが、PHPでも同じようなことをしたい。調べたところ「PHP-Dummy-Image-Generator」というライブラリがファイル1枚で導入可能で使い方も簡単だった。以下に利用方法をメモ。
目次
PHP-Dummy-Image-Generator
GitHub
https://github.com/FabianBeiner/PHP-Dummy-Image-Generator/
インストール
image.phpをダウンロードし、サーバにアップロードする。
フォントについて
フォントの用意
GitHub上ではRobotoMono-Regular.ttfというフォントが用意されているが、これを使うと日本語が表示できなかった。
そのため適当なフリーフォントのサイトからフォントをダウンロードし、image.phpと同ディレクトリにアップロードしておく。
フォントの適用
image.phpの104行目付近を以下の通り書き換える。
#変更前 $fontFile = realpath(__DIR__) . DIRECTORY_SEPARATOR . 'RobotoMono-Regular.ttf'; #変更後 $fontFile = realpath(__DIR__) . DIRECTORY_SEPARATOR . '【アップロードしたフォントファイル名】';
利用方法
画像の表示
以下のような形でブラウザから開くと画像が表示される筈。
https://test.com/image.php?size=【widthのpx数】x【heightのpx数】&type=【jpg / png / gif】&bg=【背景色のカラーコードをシャープ抜きで記述】&color=【文字のカラーコードをシャープ抜きで記述】&text=【表示したいテキスト】
imgタグで表示したい場合は以下の通り。
<img src="https://test.com/image.php?size=【widthのpx数】x【heightのpx数】&type=【jpg / png / gif】&bg=【背景色のカラーコードをシャープ抜きで記述】&color=【文字のカラーコードをシャープ抜きで記述】&text=【表示したいテキスト】">
画像ダウンロード時のファイル名
imgタグ等で表示し、当該画像を保存するとimage.jpgというようなファイル名になると思うが、このファイル名を変更したい場合はimage.phpの最下部付近に以下のように追記する。
switch ($type) {
case 'png':
header('Content-Type: image/png');
header('Content-disposition: filename="ファイル名.png"');
imagepng($image);
break;
case 'gif':
header('Content-Type: image/gif');
header('Content-disposition: filename="ファイル名.gif"');
imagegif($image);
break;
case 'jpg':
case 'jpeg':
header('Content-Type: image/jpeg');
header('Content-disposition: filename="ファイル名.jpg"');
imagejpeg($image);
break;
}
関連記事
-
-
PHPからWebAPI(screendot)経由で他サイトのスクリーンショットを取得する方法
PHPで他サイトのスクリーンショットを取得したい。今回はライブラリは無しで実現し ...
-
-
PHPでランダムなカラーコードを生成する「RandomColor.php」ライブラリの利用方法
PHPでランダムなカラーコードを生成したい。自作するとなると「0~9」「a~f」 ...
-
-
PHPにてSVGファイルをjpg / png画像に変換する方法
PHPにてSVGファイルをjpgもしくはpng形式の画像ファイルに変換したいとい ...
-
-
PHPで画像を上下反転させ保存する
やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...
-
-
PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利
今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...