파일첨부중 ajax로 데이터를 넘긴후에 db에 insert에서 문제발생.조언부탁드립니다.
본문
영카트 상품등록시 이미지를 멀티로 받아 처리해볼려고 에를 쓰고있는뎅~~ 실력이 안되서
도움 부탁드립니다.
현재 관리자 상품등록 페이지에서 파일첨부후 ajax로 데이터를 보내서 it_id로 폴더생성후 이미지를 넣는것까지는 되었습니다.
근데 db에 img_1,img_2.... 이곳에 url 값을 넣어줘야 하는데
아래의 이곳이라는곳에 파일명을 받고싶은데 무엇을 넣어줘야할까요???
ajax소스는 아래와 같습니다.
$('body').on('click', '.cvf_upload_btn', function(e){
e.preventDefault();
cvf_reload_order();
var it_id = document.getElementById("it_id").value;
//$(".cvf_uploaded_files").html('<p><img src = "loading.gif" class = "loader" /></p>');
var data = new FormData();
var items_array = $('.cvf_hidden_field').val();
var items = items_array.split(',');
for (var i in items){
var item_number = items[i];
data.append('files' + i, storedFiles[item_number]);
}
data.append('it_id', it_id);
$.ajax({
url: "./imageupload.php",
type: 'POST',
contentType: false,
data: data,
processData: false,
cache: false,
success: function(response, textStatus, jqXHR) {
}
});
});
imageupload.php소스는 아래와 같습니다.
if(isset($_FILES)){
$it_id = $_POST['it_id'];
$i = 1;
foreach($_FILES as $key => $data){
$targetDir = G5_DATA_PATH.'/item/'.$it_id.'/';
@mkdir(G5_DATA_PATH.'/item/'.$it_id, G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH.'/item/'.$it_id, G5_DIR_PERMISSION);
move_uploaded_file($data['tmp_name'],$targetDir.'/'.$data['name']);
$i++;
}
$sql = "insert {$g5['g5_shop_item_table']}
set it_id = '$it_id',
it_img1 = '$it_id/이곳(파일명)',
it_img2 = '$it_id/이곳(파일명)' ";
sql_query($sql);
}
답변 2
여러개의 이미지를 첨부해도 한개만 등록이 되고있습니다.
이게 무슨말인지 잘 모르겠네요.
소스상에서는 form으로 넘기고, foreach로 해당 첨부파일을 로프하면서 넣으시는데
정확히 어떤 의미인지 잘모르겠습니다.
예를들어 it_img1~10까지 다 첨부를 했는데
it_img1만 넣고 싶다 그런의미인가요?
loop(foreach)안으로 query 문(insert) 옮겨야겠네요.
답변을 작성하시기 전에 로그인 해주세요.