> 백엔드 개발 > PHP 튜토리얼 > '[object FormData]'가 표시됨에도 불구하고 jQuery AJAX 파일을 PHP로 업로드하는 데 실패하는 이유는 무엇입니까?

'[object FormData]'가 표시됨에도 불구하고 jQuery AJAX 파일을 PHP로 업로드하는 데 실패하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-28 03:51:09
원래의
853명이 탐색했습니다.

Why Does My jQuery AJAX File Upload to PHP Fail Despite Showing

PHP에서 jQuery AJAX 파일 업로드

문제: 브라우저에 "[object FormData]" 및 빈 "업로드" 폴더 server.

해결책: jQuery AJAX를 사용하여 파일을 성공적으로 업로드하려면 업로드된 파일을 처리하고 원하는 위치로 이동하는 서버 측 스크립트가 필요합니다.

업데이트된 jQuery 스크립트

다음 업데이트된 jQuery 스크립트는 다음과 같은 서버측 PHP 스크립트를 가리킵니다. "upload.php":

$("#upload").on("click", function() {
    var file_data = $("#sortpicture").prop("files")[0];
    var form_data = new FormData();
    form_data.append("file", file_data);
    $.ajax({
        url: 'upload.php',
        dataType: 'text',
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,
        type: 'post',
        success: function(php_script_response){
            alert(php_script_response);
        }
    });
});
로그인 후 복사

서버측 PHP 스크립트

다음 "upload.php" 스크립트는 업로드된 파일의 오류를 확인하고 "uploads" 디렉터리로 이동합니다. :

<?php
if (0 < $_FILES['file']['error']) {
    echo 'Error: ' . $_FILES['file']['error'] . '<br>';
} else {
    move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
}
?>
로그인 후 복사

추가 고려사항

  • 다음 사항을 확인하세요. "uploads" 디렉터리에 대한 올바른 서버 경로.
  • "uploads" 디렉터리가 쓰기 가능한지 확인하세요.
  • "upload_max_filesize" 및 "post_max_size"에 대한 PHP 구성을 확인하여 테스트 파일을 확인하세요. 이 제한을 초과하지 마십시오.

서버측을 사용하여 파일 이름 바꾸기 스크립트

PHP를 사용하여 서버에서 파일 이름을 바꾸려면:

move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/my_new_filename.whatever');
로그인 후 복사

위 내용은 '[object FormData]'가 표시됨에도 불구하고 jQuery AJAX 파일을 PHP로 업로드하는 데 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿