プログラミング

1x1の透過gif画像を簡単に出力しよう

この記事は2年以上前ですので、内容が古い可能性があります

例えば、HTMLメールの開封チェックがしたいとか、アクセス解析がしたいとか、まあ色々と理由はあると思いますが1x1の透過gif画像をプログラムから出力したいってのは稀にあります。
そういえば、その昔はCSSを使わないで1x1画像でWebのレイアウトを組んでいたりいなかったりしてましたね。

PHPで画像を出力する方法はいくつかありますが普通に思いつくのはサーバー上の画像を読み込んで出力です。
でも、画像を用意したり、画像までのパスを書いたりで案外めんどくさいんですよね。

<?php
mb_http_output("pass");
header("Content-type: image/gif");
$file = '1x1.gif';
$fp = fopen($file,'r');
$gifdata = fread($fp,filesize($file));
fclose($fp);
print $gifdata;

つぎはちょいとひねってimage関数を使って出力してみます。でも、GDが必要になっちゃいますしなんか無駄なことをしている気が・・・・

<?php
mb_http_output("pass");
header("Content-type: image/gif");
$img = imagecreate(1, 1);
$color = imagecolorallocate($img,0,0,0);
imagecolortransparent($img,$color);
imagegif($img);

最後に一番簡単かなと思う方法です。あらかじめBase64でエンコードしておいた文字列をデコードして出力します。

<?php
mb_http_output("pass");
header("Content-type: image/gif");
print base64_decode('R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
この記事をシェアする:
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

私たちと一緒に働きませんか?

「1x1の透過gif画像を簡単に出力しよう」はいかがでしたか?
株式会社プレスマンでは、 WordPressが大好きな方、仕事を通してさらにスキルを磨きたい方を募集しています。 まずは募集職種をご覧の上、お気軽にお問い合わせください。 あなたとお会いできるのを楽しみにしています。

採用情報を見る

-プログラミング
-

© 2021 PRESSMAN*Tech Powered by STINGER