| セッションの永続化 (Previous) | (Next) 画像 (Images) | ||||
| |
|||||
|
|||||
HTML フォーム経由で送信されたファイルを お手軽かつ安全に管理します。
この関数は、HTML <input type="file" /> フィールド経由でのファイルのアップロードを管理する高度なシステムを 提供します。以下のような機能があります。
一時ディレクトリからのファイルの安全なコピー/移動
アップロードを検証する仕組み
アップロードされたファイルの名前の変更
以下の例では、ファイルをアップロードするために HTML フォームフィールド <input type="file" name="f" /> を用いることを想定しています。たとえばこのようなフォームです。
例 48-30単純なファイルアップロード用の HTML フォーム 単一ファイルのアップロードのサンプルを試してみるには、このようなフォームを使用します。
|
例 48-31単純なファイルのアップロード 以下のコードは、リクエストを監視し、ファイルがフォームから正常に アップロードされたかどうかを調べます。この例の場合、ファイルは サブディレクトリ uploads に移動されます。
|
例 48-32複数のファイルをアップロードするための HTML フォーム 複数ファイルのアップロードのサンプルを試してみるには、このようなフォームを使用します。
|
例 48-33複数のファイル、より進んだチェック 複数のファイルをアップロードするには、フォームフィールドの名前 (f) を f[] に変更し、 この名前で複数の <input /> フィールドを 作成します。
|
HTTP_Upload では、アップロードされたファイルの 拡張情報を getProp() メソッドで取得可能です。
name に何も指定しなかった場合は、このメソッドは アップロードされたファイルに関するすべての情報を含む配列を返します。 それ以外の場合は、指定したパラメータの値を文字列で返します。
とりうる値の内容は $_FILES 配列によって決まりますが、HTTP_Upload 用にカスタマイズされています。 以下に、プロパティをまとめます。
'name': アップロードされたファイル名。
'tmp_name': アップロードされたファイルの一時的な名前 (PHP が設定します)。
'form_name': ファイルをアップロードした HTML フォームの名前。
'type': ファイルの Mime 型。
'size': ファイルの大きさ。
'error': アップロード時にエラーが発生した場合は、 エラーの種類を表す文字列がここに含まれます。 errorCode() メソッドを使用すると、 このプロパティに対応するエラーメッセージを取得できます。
例 48-34getProp() 経由での拡張情報
|
HTTP_Upload の便利な機能のひとつに 国際化されたエラーメッセージのサポートがあります。これは、 エラー (不正なファイルがアップロードされたなど) が検出された場合に HTTP_Upload が何語でエラーメッセージを 返すのかをプログラマが指定できるということことを意味します。
HTTP_Upload のコンストラクタの最初の パラメータで、使用する言語を指定します。詳細は以下の例で 説明します。
例 48-35例
|
| セッションの永続化 (Previous) | (Next) 画像 (Images) | ||||||||
| |
|||||||||
|
|||||||||