質問: **現状** 事前に用意した画像(img.png)を指定している index.php ``` ``` --- **やりたいこと** ブログの記事ページ毎に記事タイトルから画像を動的作成して、指定したい ※テキストから画像を動的作成する手段としては、GDやIMagickを考えています article/1.php ``` ``` article/2.php ``` ``` --- **分からないこと** ・事前に画像出力しておいてその画像パスを指定する方法なら何となく想像が付くのですが、「article/1.php」や「article/2.php」へuserがアクセスしてきたタイミングで、(文字列から)画像生成して、そのパスを指定する方法が分かりません **質問** ・そもそもやりたいこと(事前に画像生成することなく、userがアクセスしてきたタイミングで動的生成した画像を指定)は可能ですか? ・出来れば画像をファイル出力せず指定したいのですが、画像は一旦出力する必要はありますか? 画像出力するためには、header処理が必要で、そうすると、他の処理が出来なくなる気がしているのですが...、 **画像を事前になるべく生成したくない理由** ・これ以外の他の用途では使用予定がないため ・なるべく容量を抑えたい
回答: 調べる限りmeta タグのcontentにおいては、imgタグで利用できるbase64encodeした画像を張り付けることは難しそうです。 そのため「article/2.php」で画像も出力して表示するというのはできなさそうです。 画像パスを出力すると、どうしてもファイルを置かなければならないので、それだとファイルをまた消したりしないといけません。 ただし、例えば動的に出力するスクリプトを用意しておくことで対応は可能そうです。 例えば article/1.php ``` ``` decode.php ``` > なるべく容量を抑えたい > > > とありますが、ここでいう容量はサーバのディスク容量かと推測します。 当たり前ですが、どこかを節約すると何処かに負荷がかかります。今回の場合は毎回画像を生成することになるので、CPUさらに一時的に画像をPHPの変数に入れるのでメモリに負荷がかかります。 一般的にディスクとメモリとCPUであればディスクが最も単価が安く、冗長化や拡張がしやすいです。 たとえ一か所しか使わないとしても、どこに負荷をかけるかはよく考えたほうがいいです。 アクセスが多くなるたびにCPUとメモリを消費して画像を生成するぐらいだったら、きっちりディスクを増強してそれに耐えたほうが実際は早くて簡単ということもあります。 要件に従って考えてみてください。