Naify\Http\UploadedFiles クラス
アップロード一覧 — 入力の正規化、ファイルの保持、入力名による探索を担当する。
単一・複数・入れ子を扱い、未選択や受信失敗の項目もエラー情報として残す。 PHP の列別配列(name / type / tmp_name / error / size)を、 入力名をキー、UploadedFile を末端とするツリーに変換する。 アプリからの取得窓口は RequestContext。このクラスは変換と探索を引き受ける。 PHP 8.1+ の full_path は保存先に使わず、基本の 5 項目だけを取り出す。
プロパティ
| 名前 | 型 | 説明 |
|---|---|---|
private
$files
|
array |
入力名の階層を保持するツリー |
メソッド
| メソッド | 説明 |
|---|---|
public
__construct(array $files):
|
リクエスト内のアップロード全件を、取得しやすいツリーに変換する。
数値キー・文字列キーと入れ子を保つ。いずれかの項目の構造が不正なら例外にする。 ファイルの読み取り・移動や、HTTP アップロード由来の検査は行わない。 |
public
get(array|string $name): ?UploadedFile
|
指定した入力から 1 件の UploadedFile を取得する。
例: get('avatar')、get(['photos', 0])。配列の階層を指定した場合は all() を使う。 |
public
all(array|string|null $name): array
|
全体、または指定した階層のファイル一覧を取得する。
例: all() で全件、all('photos') で photos[] の一覧。 配下の入れ子は平坦化せず、同じ UploadedFile オブジェクトを返す。 |
private
findNode(array|string $name): UploadedFile|array|null
|
入力名またはキー配列をたどり、ファイルか配列の階層を探す。
文字列中のドットや角括弧は区切りとして解釈しない。 |
private
static
expand(array $entry, int $depth): UploadedFile|array
|
PHP の列別配列を再帰的に組み替え、末端で UploadedFile を生成する。
5 列のキー・階層を照合することで、別ファイルの名前やエラー情報の混在を防ぐ。 |