6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

phpでバーコードを作ってGoogleAppEngineでCDN配信する

Posted at

みんな大好きPHPもたまにはということで:frowning2:
動的にバーコードを作りたいんですが、バーコードの形式なんて早々変わるものでもないので……
どうせなら作成した結果はCDNに乗せてしまいたいなというニッチな目的を達成しようと思います。

php-barcode-generatorというライブラリを使用しています。

制作物

Demo

https://neko-tech-test.appspot.com/gae-php-barcode
コカ・コーラのバーコード

コカ・コーラのバーコードです:tropical_drink:

実装内容!

barcode.php
<?php
require_once "vendor/autoload.php";

$generator = new Picqer\Barcode\BarcodeGeneratorPNG();

// CND配信されると10sかからないよ!
sleep(10);

header("Content-type: image/png");
header("cache-control: public, max-age=3600");

echo $generator->getBarcode(
    '4902102072618',
    $generator::TYPE_EAN_13,
    190 / 95,
    100
);

超シンプルです。
説明する必要あるかな……

composerでinstallしたライブラリを読み込んで、画像データを返してあげています。
この時にcache-controlのheaderをつけて返してあげると!
Google App Engineの強力なエッジキャッシュに乗っかってくれるので、sleep(10)がかからなくなります。

キャッシュについてはこの記事がわかりやすかったです。

乗せる前

image.png

10.25s!
まぁ、内部でsleep(10)してるからね……

乗せた後にリロード!

image.png

11ms!!

はやーい!!
変態的な速さでした!!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?