HTML フォーム経由で送信されたファイルを お手軽かつ安全に管理します。
この関数は、HTML <input type="file" /> フィールド経由でのファイルのアップロードを管理する高度なシステムを 提供します。以下のような機能があります。
一時ディレクトリからのファイルの安全なコピー/移動
アップロードを検証する仕組み
アップロードされたファイルの名前の変更
以下の例では、ファイルをアップロードするために HTML フォームフィールド <input type="file" name="f" /> を用いることを想定しています。
例 43-25単純なファイルのアップロード 以下のコードは、リクエストを監視し、ファイルがフォームから正常に アップロードされたかどうかを調べます。この例の場合、ファイルは サブディレクトリ uploads に移動されます。
|
例 43-26複数のファイル、より進んだチェック 複数のファイルをアップロードするには、フォームフィールドの名前 (f) を f[] に変更し、 この名前で複数の <input /> フィールドを 作成します。
|
HTTP_Upload では、アップロードされたファイルの 拡張情報を getProp() メソッドで取得可能です。
name に何も指定しなかった場合は、このメソッドは アップロードされたファイルに関するすべての情報を含む配列を返します。 それ以外の場合は、指定したパラメータの値を文字列で返します。
例 43-27getProp() 経由での拡張情報
|
HTTP_Upload の便利な機能のひとつに 国際化されたエラーメッセージのサポートがあります。これは、 エラー (不正なファイルがアップロードされたなど) が検出された場合に HTTP_Upload が何語でエラーメッセージを 返すのかをプログラマが指定できるということことを意味します。
HTTP_Upload のコンストラクタの最初の パラメータで、使用する言語を指定します。詳細は以下の例で 説明します。
例 43-28例
|