フォームからアップロードされたファイルは、その他のフォーム項目と同様にコントローラのクラス変数に格納されます。格納されるのはアップロードされたファイルをあらわすUploadFileクラスのインスタンスです。
HTMLフォーム:
<form method="post" enctype="multipart/form-data" action="upload.php"> <input type="hidden" name="action" value="upload" /> ファイル: <input type="file" name="file" /><br /> <input type="submit" value="送信" /> </form>
upload.php:
require_once "/path/to/Guesswork.php";
class UploadController extends Controller
{
var $_gw_default_action = "upload";
var $_gw_template_class = "/path/to/Smarty.class.php";
var $_gw_template_templates_dir = "/path/to/templates";
var $_gw_template_compile_dir = "/path/to/templates_c";
var $file;
function init()
{
$this->file = null;
}
function executeUpload()
{
// クライアントマシン上でのファイル名
print $this->file->getName();
// MIMEタイプ
print $this->file->getMimeType();
// アップロードされたファイルのテンポラリファイルパス
print $this->file->getTmpFilePath();
// エラーコード
print $this->file->getErrorCode();
// ファイルのバイト単位でのサイズ
print $this->file->getFileSize();
}
}
$controller = new UploadController();
$controller->process();
exit;
ファイルアップロードについてはPHPマニュアルのPHP: ファイルアップロードの処理も参照してください。