<form id="form" name="form" onsubmit="return form_submit(this);" method="POST" enctype="multipart/form-data">
<input type="file" name="upload" id="upload">
</form>
<script language="javascript" src= <?php G5_URL ?>"/js/jquery.form.min.js"></script>
<script>
$('#upload').on('change', function(){
var data = new FormData();
var exec_url = './ajax_process.php';
var options = {
url:exec_url,
type:'POST',
dataType:'json',
success : function(r) {
if(r.success) {
}
else {
alert(r.msg);
}
}
}
$('#form').ajaxSubmit(options);
});
</script>
====ajax_process.php====
<?php
include "./_common.php";
print_r2($_FILES); // 정상적으로 출력이 됩니다.,
var_dump(is_uploaded_file($_FILES['upload']['name'])); // 문제는 여기 인데요. 이렇게 하면 "false"로 출력되네요 ㅠ,ㅠ
$mb_id = "test";
$mb_dir = G5_URL.'/test';
$dest_path = $mb_dir.'/'.$mb_id.'.gif';
move_uploaded_file($_FILES['upload']['name'], $dest_path); // 해당 경로에 파일 업로드도 안되네요 ㅠ,ㅠ 도대체 무엇이 문제일까요??
?>
<input type="file" name="upload" id="upload"> <-- 여기 버튼을 클릭하게 되면
jquery change 이벤트 통해 자동 파일 업로드가 되는 과정입니다..
뭔가 이상해서 is_uploaded_file() 찾아보니 잘못 사용되신듯 합니다
http://php.net/manual/kr/function.is-uploaded-file.php
그리고 해당 파일업로드 하는 폴더에 권한도 체크해 보세요.
ajax upload는 일반 submit 업로드가 가능하면 로직에서는 따로 바꿔주는것 없이 잘 됩니다.