このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
psr:psr7 [2020/06/16 21:44] y2sunlight [1.6 アップロードファイル] |
psr:psr7 [2020/09/01 11:53] tanaka [PSR-7: HTTP message interfaces] |
||
---|---|---|---|
行 3: | 行 3: | ||
--- // | --- // | ||
- | 本章は、若干の補足を加筆してはいるものの単に[[https:// | + | 本章は、若干の補足を加筆してはいるものの単に[[https:// |
+ | |||
+ | 関連記事 | ||
- | ==== 目次 ==== | ||
* [[psr: | * [[psr: | ||
* [[psr: | * [[psr: | ||
行 14: | 行 15: | ||
* PSR-7: HTTP Message Interface - HTTPメッセージインターフェイス | * PSR-7: HTTP Message Interface - HTTPメッセージインターフェイス | ||
* [[psr: | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
----- | ----- | ||
行 239: | 行 248: | ||
'' | '' | ||
- | |||
- | The $_FILES superglobal has some well-known problems when dealing with arrays of file inputs. As an example, if you have a form that submits an array of files — e.g., the input name “files”, | ||
'' | '' | ||
行 285: | 行 292: | ||
* HTTPメソッドが '' | * HTTPメソッドが '' | ||
* ユニットテストの時 | * ユニットテストの時 | ||
- | * [[https:// | + | * [[https:// |
そのような場合、データを別の方法でシード(特別な処理)する必要があります。例としては: | そのような場合、データを別の方法でシード(特別な処理)する必要があります。例としては: | ||
行 296: | 行 303: | ||
* 与えられたファイルアップロードのすべての情報を集約し、それを使用して '' | * 与えられたファイルアップロードのすべての情報を集約し、それを使用して '' | ||
+ | |||
* 送信されたツリー構造を再作成します。その時各リーフは、ツリー内の与えられた場所に対して適切な'' | * 送信されたツリー構造を再作成します。その時各リーフは、ツリー内の与えられた場所に対して適切な'' | ||
行 389: | 行 397: | ||
(例として、JavaScriptコントロールは、複数のファイルを一度にアップロードできるように、追加のファイルアップロード入力を生成する場合があります。) | (例として、JavaScriptコントロールは、複数のファイルを一度にアップロードできるように、追加のファイルアップロード入力を生成する場合があります。) | ||
- | |||
- | In such a case, the specification implementation must aggregate all information related to the file at the given index. The reason is because $_FILES deviates from its normal structure in such cases: | ||
このような場合、仕様の実装では、指定されたインデックスにあるファイルに関連するすべての情報を集約する必要があります。その理由は、'' | このような場合、仕様の実装では、指定されたインデックスにあるファイルに関連するすべての情報を集約する必要があります。その理由は、'' | ||
行 484: | 行 490: | ||
// " | // " | ||
</ | </ | ||
- | |||
- | This proposal also recognizes that implementations may operate in non-SAPI environments. As such, UploadedFileInterface provides methods for ensuring operations will work regardless of environment. In particular: | ||
この提案は、実装が非SAPI環境で動作する可能性があることも認識しています。従って、'' | この提案は、実装が非SAPI環境で動作する可能性があることも認識しています。従って、'' | ||
行 491: | 行 495: | ||
* '' | * '' | ||
- | * '' | + | * '' |
例として: | 例として: | ||
行 512: | 行 516: | ||
// | // | ||
// ファイルを Amazon S3 にストリーミングします。 | // ファイルを Amazon S3 にストリーミングします。 | ||
- | // $s3wrapper が S3 に書き込むPHPストリームであり、Psr7StreamWrapper が StreamInterface を | + | // $s3wrapper が S3 に書き込むPHPストリームであり、 |
- | // PHP StreamWrapper として装飾するクラスであると想定します。 | + | // Psr7StreamWrapper が StreamInterface を |
+ | // PHP StreamWrapper として装飾するクラスであると仮定します。 | ||
$stream = new Psr7StreamWrapper($file1-> | $stream = new Psr7StreamWrapper($file1-> |