PHPを使うと、パラメータを与えてそれに応じて描画する、ということができます。
例えば「http://myhost/imagetest.php?p=abcd&q=jpg」というURLを指定し「abcd」というパラメータを与え、これに応じてJPG画像を作成するケースがあったとします。
この場合、描画した画像を保存する場合、ファイル名がすべて「imagetest.jpg」となってしまいます。パラメータが異なってもファイル名が同じなのです。
もしURLが「http://myhost/imagetest.php/abcd.jpg」ならばファイル名は「abcd.jpg」と保存されるので、次のような処理ができないか、考えます。
「http://myhost/imagetest.php/abcd.jpg」を
「http://myhost/imagetest.php?p=abcd&q=jpg」に読み替える。
サンプル
$_SERVER[“PATH_INFO”]はファイル名「imagetest.php」より後の部分を取得しますので、$pathinfoには「/abcd.jpg」が入ります。
これをsplitを使い「/」と「.」で分割します。1種類の記号で分割する場合はexplodeを使いますが、ここでは2種類なのでsplitを使いました。もっと複雑な分割が必要ならばpreg_matchなどを使うことになるでしょう。
$arrs[0]=>””
$arrs[1]=>”abcd”
$arrs[2]=>”jpg”
となります。
あとは$_GET[‘p’]や$_GET[‘q’]を使ってパラメータを得る場合と同じ処理になります。
コメント