Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Berjaya Muat Naik Fail ke Pelayan PHP Menggunakan Jakarta HttpClient?

Bagaimana untuk Berjaya Muat Naik Fail ke Pelayan PHP Menggunakan Jakarta HttpClient?

Linda Hamilton
Linda Hamiltonasal
2024-12-15 09:36:11617semak imbas

How to Successfully Upload Files to a PHP Server Using Jakarta HttpClient?

Memuat Naik Fail dengan Jakarta HttpClient dan PHP

Artikel ini membentangkan penyelesaian untuk memuat naik fail ke pelayan Apache yang menjalankan PHP menggunakan perpustakaan Jakarta HttpClient Java versi 4.0 beta2.

Pada mulanya, kod Java yang disediakan menyebabkan skrip PHP gagal untuk mengesan fail yang dimuat naik. Isu ini berpunca daripada konfigurasi yang salah dalam kelas Java, yang menggunakan objek FileEntity tanpa menyatakan parameter berbilang bahagian secara eksplisit.

Pelaksanaan Java yang Betul:

Kod Java yang disemak menggabungkan penggunaan MultipartEntity untuk memformat permintaan HTTP dengan betul:

MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "image/jpeg");
mpEntity.addPart("userfile", cbFile);
httppost.setEntity(mpEntity);

Konfigurasi ini berkesan mencipta permintaan HTTP POST berbilang bahagian dengan lampiran binari, mematuhi keperluan skrip PHP.

Skrip PHP:

Skrip PHP kekal mudah:

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);
}

Dengan pelaksanaan Java dan skrip PHP yang betul, muat naik fail kini seharusnya berjaya diproses.

Atas ialah kandungan terperinci Bagaimana untuk Berjaya Muat Naik Fail ke Pelayan PHP Menggunakan Jakarta HttpClient?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn