小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

CGI.pmでURLパラメータを受け取るには

フォームからのデータを受け取るには、param()メソッドを使用します。
では、URLパラメータを受け取るには……、url_param()メソッドを使用します。
これ、ファイルアップロードの時などに、補助情報をURLパラメータで渡せるので便利です。

<form method="POST" action="xxx.cgi?user_id=yyy" ENCTYPE="multipart/form-data" name="FM">
<input type="file" name="upload_file" size="40">
<input type="submit" value="アップロード">
use CGI
$query = new CGI;

# $filenameへはファイル名でもあり、ファイルハンドルでもあるものが格納される。
# アップロードされるファイルの実体は、このファイルハンドルを元に取得ができる。
$filename = $query->param('upload_file');

# form要素のaction属性値のURLパラメータuser_idの値(yyy)が格納される。
# つまり、URLパラメータを受け取ることが出来るのです。
$user_id = $query->url_param('user_id');