2016-12-13 7 views
1

양식을 사용하지 않고 양식을 업로드 할 수있는 기능을 작성했습니다. 입력 유형이 id 인 파일의 변경 이벤트에 대해 ajax 이벤트를 호출하고 'ajax 파일에서 $ _FILES 데이터를 가져 오는 중입니다.'업로드. PHP는 jQuery를 사용하여 POST 메서드를 사용하여 '. 입력 태그가 양식 태그 안에 없습니다. 그것은 개별적으로 나타냅니다.

<div class="profile_pic"> 
<img id="upload-button" class="profile-pic img-circle profile_img" src="img/default-image.png" alt="default"> 
<input class="file-upload" type="file" name="profile_pic" id="profile_pic" /> 
</div> 

내 자바 스크립트 코드는 다음과 같습니다 :

var readURL = function(input) { 
     if (input.files && input.files[0]) { 
      var reader = new FileReader(); 
      reader.onload = function (e) { 
       $('#upload-button').attr('src', e.target.result); 
      } 
      reader.readAsDataURL(input.files[0]); 
     } 
    } 
$(".file-upload").on('change', function(){ 
     readURL(this); 

     alert('working'); 
      var file = profile_pic.files[0]; 
      var formData = new FormData(); 
      formData.append('formData', file); 

      $.ajax({ 
       url: "uploadFile.php",  
       type: "POST", 
       processData: false, 
       contentType: false, 
       dataType : 'json', 
       data: formData, 
       success: function (data) { 
        alert(data); 
        } 
      }); 
    }); 
    $("#upload-button").on('click', function() { 
     $(".file-upload").click(); 
    }); 
아래

UploadFile.php 코드 :

<?php 
print_r($_FILES); 
?> 
형태없이

내 일반 HTML 입력 유형 = '파일'다음은 내 코드입니다

다음 파일 데이터가 경고 상태입니다.

Array 
(

[formData] => Array 
(
    [name]=> Tulips.jpg 
    [type]=> image/jpeg 
    [tmp_name]=> chroot/tmp/phpipdF97 
    [error]=> 0 
    [size]=> 620888 
) 

) 

php의 move_uploaded_file()을 사용하여 파일을 대상 폴더 경로에 업로드하려면 어떻게해야합니까? 미리 감사드립니다.

답변

0

나는 해결책을 얻었다. 아래 "uploadFile.php"에서 $ _FILES 값에 액세스했습니다 :

$_FILES["formData"]["tmp_name"] 
$_FILES["formData"]["name"]