Jakarta HttpClient 및 PHP를 사용하여 파일 업로드
이 기사에서는 Java의 Jakarta HttpClient 라이브러리를 사용하여 PHP를 실행하는 Apache 서버에 파일을 업로드하는 솔루션을 제시합니다. 버전 4.0 베타2.
처음에는 제공된 Java 코드로 인해 PHP 스크립트가 업로드된 파일을 감지하지 못했습니다. 이 문제는 멀티파트 매개변수를 명시적으로 지정하지 않고 FileEntity 객체를 사용한 Java 클래스의 잘못된 구성으로 인해 발생했습니다.
올바른 Java 구현:
수정된 Java 코드에는 다음이 포함되어 있습니다. MultipartEntity를 사용하여 HTTP 요청 형식을 적절하게 지정:
MultipartEntity mpEntity = new MultipartEntity(); ContentBody cbFile = new FileBody(file, "image/jpeg"); mpEntity.addPart("userfile", cbFile); httppost.setEntity(mpEntity);
이 구성은 효과적으로 멀티파트 HTTP POST 요청을 생성합니다. PHP 스크립트의 요구 사항을 준수하는 바이너리 첨부 파일입니다.
PHP 스크립트:
PHP 스크립트는 여전히 단순합니다.
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); }
올바른 Java 구현 및 PHP 스크립트를 사용하면 이제 파일 업로드가 성공적으로 처리됩니다.
위 내용은 Jakarta HttpClient를 사용하여 PHP 서버에 파일을 성공적으로 업로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!