HTTP ストリーム コンテキストを使用した file_get_contents() によるファイルのアップロード
Web フォーム経由のファイルのアップロードは、cURL 拡張機能を使用してシームレスに実行できます。ただし、HTTP ストリーム コンテキストと組み合わせて PHP の file_get_contents() 関数を使用してファイルのアップロードを実行することもできます。
Multipart Content-Type
次を使用してファイルをアップロードするにはfile_get_contents() では、「multipart/form-data」Content-Type を定義することが重要です。これは、リクエストにファイル データや関連パラメータなどの複数の部分が含まれることを指定します。これらの部分を区切るために使用される区切り文字は、境界と呼ばれます。
コンテンツ本体の構築
コンテンツ本体は、HTTP および Content-Type ヘッダーの仕様に従う必要があります。 。アップロードする各ファイルについて、次の情報を含めます:
ファイルの内容の作成
file_get_contents()を使用して、アップロードするファイルの内容を取得します。これをコンテンツ本文に追加します。
リクエスト ヘッダーとコンテキストの設定
Content-Type ヘッダーを定義し、stream_context_create() を使用して HTTP ストリーム コンテキストを作成します。リクエストメソッドを POST に設定し、ヘッダーを追加し、コンテンツ本文を指定します。
アップロードの実行
最後に、適切な URL で file_get_contents() 関数を実行します。
注
バイナリ ファイルはエンコードせずに直接送信できます。 HTTP はバイナリ データ転送をサポートしています。
次の手順に従うと、file_get_contents() と HTTP ストリーム コンテキストを利用してファイルをリモート Web サーバーにアップロードできます。
以上がfile_get_contents() は HTTP ファイルのアップロードに使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。