it_1필드를 다중이미지파일필드로 사용중입니다..
본문
---> 등록페이지
<input type="file" name="it_<?php echo $i ?>[<?php echo $k ?>]"
id="it_<?php echo $i ?>_<?php echo $k ?>" class="frm_input">
name="it_1[0]" 로 잘 노출됩니다...
영카트 상품업테이트페이지
if($w == "u") { //// 이부분에 추가했습니다.
///이미지필드만 선택하는 구절
$sql = " select it_img1, it_img2, it_img3, it_img4, it_img5, it_img6, it_img7, it_img8, it_img9, it_img10,it_movie_thumb1, it_movie_thumb2, it_movie_thumb3, it_movie_thumb4, it_movie_thumb5, it_movie_thumb6, it_movie_thumb7, it_movie_thumb8, it_movie_thumb9, it_movie_thumb0, it_1, it_2, it_3, it_4, it_5, it_6, it_7, it_8, it_9, it_10
from {$g5['g5_shop_item_table']}
where it_id = '$it_id' ";
$file = sql_fetch($sql);
$it_1 = implode(',', $file['it_1']);
$it_2 = implode(",", $file['it_2']);
$it_3 = implode(",", $file['it_3']);
$it_4 = implode(",", $file['it_4']);
$it_5 = implode(",", $file['it_5']);
$it_6 = implode(",", $file['it_6']);
$it_7 = implode(",", $file['it_7']);
$it_8 = implode(",", $file['it_8']);
$it_9 = implode(",", $file['it_9']);
$it_10 = implode(",", $file['it_10']);
//// 여기 제가 추가했습니다.
//파일삭제파트는 아직 하지도 못했습니다..
//추가이미지 삽입 저의 코드입니다.
for( $i=0; $i<10; $i++ ){
if ($_FILES['it_1']['name'][$i]) {
if($w == 'u' && $it_1[$i]) {
$file_it_1 = $it_img_dir.'/'.$it_1[$i];
@unlink($file_it_1);
delete_item_thumbnail(dirname($file_it_1), basename($file_it_1));
}
$it_1[$i] = it_img_upload($_FILES['it_1']['tmp_name'][$i], $_FILES['it_1']['name'][$i], $it_img_dir.'/'.$it_id);
$_FILES['it_1']['name'] = array_filter( $_FILES['it_1']['name'] );
$it_1 = implode(",", $_FILES['it_1']['name'] );
}
}
문제발생했습니다.
처음 업로드는 잘되나 수정시 초기화됩니다. it_1 필드들의 테이터가 수정할때 초기화되어 없어집니다....
input 타입 file의 value값 때문인듯하고...
위의 if($w == "u") { 안의 처리가 맞는지...
아님 $it_1 = implode(",", $_FILES['it_1']['name'] ); 를 어떻게 처리해야하는지....
영카트 고수님들 부탁드립니다... 이렇게 지식 동냥하는 거 개발이 힘들어서 묻는것조차 죄송하게 생각합니다... 일주일째 이문제 앞에서 이래보고 저래보고 하다가 염치 불구하고 올립니다....
대답해주시면 감사하겠습니다...
답변 1
<input type="hidden" name="org_<?php echo $i ?>[<?php echo $k ?>]"
id="org_<?php echo $i ?>_<?php echo $k ?>" class="frm_input">
이런식으로 org_데이터를 만들어서 기존데이터가 있을경우 들어오도록 만드신후에요.
for( $i=0; $i<10; $i++ ){
if ($_FILES['it_1']['name'][$i]) {
}else if($_REQUEST['org_1'][$i]){ // org_1에 데이터가 있을 경우
}
}
이런식으로 새로운 파일이 있을 경우는 해당 파일을 추가해주고 없을 경우는 기존 org에 데이터가 있었는지를 비교하시면 동일한 데이터를 만드실수 있습니다.
!-->!-->