Dateien mit Jakarta HttpClient und PHP hochladen
Dieser Artikel stellt eine Lösung zum Hochladen von Dateien auf einen Apache-Server vor, auf dem PHP unter Verwendung der Jakarta HttpClient-Bibliothek von Java ausgeführt wird Version 4.0 Beta2.
Der bereitgestellte Java-Code führte zunächst zum PHP Das Skript erkennt die hochgeladene Datei nicht. Das Problem war auf eine falsche Konfiguration in der Java-Klasse zurückzuführen, die ein FileEntity-Objekt verwendete, ohne explizit mehrteilige Parameter anzugeben.
Korrekte Java-Implementierung:
Der überarbeitete Java-Code enthält die Verwendung von MultipartEntity, um die HTTP-Anfrage richtig zu formatieren:
MultipartEntity mpEntity = new MultipartEntity(); ContentBody cbFile = new FileBody(file, "image/jpeg"); mpEntity.addPart("userfile", cbFile); httppost.setEntity(mpEntity);
Diese Konfiguration erstellt effektiv eine mehrteilige HTTP-POST-Anfrage mit einer Binärdatei Anhang, entsprechend den Anforderungen des PHP-Skripts.
PHP-Skript:
Das PHP-Skript bleibt einfach:
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n"; move_uploaded_file ($_FILES['userfile'] ['tmp_name'], $_FILES['userfile'] ['name']); } else { echo "Possible file upload attack: "; echo "filename '". $_FILES['userfile']['tmp_name'] . "'."; print_r($_FILES); }
Mit dem richtigen Java-Implementierung und PHP-Skript, Datei-Uploads sollten nun erfolgreich verarbeitet werden.
Das obige ist der detaillierte Inhalt vonWie lade ich Dateien mit Jakarta HttpClient erfolgreich auf einen PHP-Server hoch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!