„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Kann file_get_contents() für HTTP-Datei-Uploads verwendet werden?

Kann file_get_contents() für HTTP-Datei-Uploads verwendet werden?

Veröffentlicht am 06.11.2024
Durchsuche:263

Can file_get_contents() be used for HTTP file uploads?

Hochladen von Dateien mit file_get_contents() unter Verwendung des HTTP-Stream-Kontexts

Das Hochladen von Dateien über ein Webformular kann mithilfe der cURL-Erweiterung nahtlos erfolgen. Es ist jedoch auch möglich, Datei-Uploads mit der PHP-Funktion file_get_contents() in Verbindung mit dem HTTP-Stream-Kontext durchzuführen.

Multipart Content-Type

Zum Hochladen einer Datei mit file_get_contents() ist es wichtig, einen „multipart/form-data“-Inhaltstyp zu definieren. Dies gibt an, dass die Anfrage mehrere Teile enthält, einschließlich der Dateidaten und aller zugehörigen Parameter. Das zum Trennen dieser Teile verwendete Trennzeichen wird als Grenze bezeichnet.

Erstellen des Inhaltskörpers

Der Inhaltskörper muss den Spezifikationen von HTTP und dem Content-Type-Header entsprechen . Geben Sie für jede hochgeladene Datei die folgenden Informationen an:

  • Boundary: Die zuvor definierte eindeutige Zeichenfolge.
  • Content-Disposition: Gibt den Formularfeldnamen und den ursprünglichen Dateinamen an.
  • Content-Type: Der MIME-Typ der Datei (z. B. application/zip).

Erstellen des Dateiinhalts

Rufen Sie mit file_get_contents() den Inhalt der hochzuladenden Datei ab. Hängen Sie es an den Inhaltstext an.

Anforderungsheader und Kontext festlegen

Definieren Sie den Content-Type-Header und erstellen Sie einen HTTP-Stream-Kontext mit stream_context_create(). Setzen Sie die Anforderungsmethode auf POST, fügen Sie die Header hinzu und geben Sie den Inhaltstext an.

Ausführen des Uploads

Führen Sie abschließend die Funktion file_get_contents() mit der entsprechenden URL aus und der konfigurierte Kontext.

Hinweis

Binärdateien können direkt ohne Codierung gesendet werden. HTTP unterstützt die binäre Datenübertragung.

Durch Befolgen dieser Schritte können Sie file_get_contents() und den HTTP-Stream-Kontext nutzen, um Dateien auf einen Remote-Webserver hochzuladen.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729218375 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3