file_get_contents() は HTTP ファイルのアップロードに使用できますか?

Mary-Kate Olsen
リリース: 2024-10-18 12:06:51
オリジナル
328 人が閲覧しました

Can file_get_contents() be used for HTTP file uploads?

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 ヘッダーの仕様に従う必要があります。 。アップロードする各ファイルについて、次の情報を含めます:

  • Boundary: 前に定義した一意の文字列。
  • Content-Disposition:フォームのフィールド名と元のファイル名を指定します。
  • Content-Type: ファイルの MIME タイプ (例: application/zip)。

ファイルの内容の作成

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート