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 mithilfe 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:
Erstellen des Dateiinhalts
Mit file_get_contents() erhalten Sie den Inhalt der hochzuladenden Datei. 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(). Stellen Sie die Anforderungsmethode auf POST ein, 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 ohne Kodierung direkt 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.
Das obige ist der detaillierte Inhalt vonKann file_get_contents() für HTTP-Datei-Uploads verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!