엑셀 대량등록시, 이미지처리 문의
본문
냑, 고수님들 안녕하세요,
크롤링하여, 엑셀에 저장후, 엑셀 업로드 하고 있습니다.
이미지는 이름을 지정하여, g5_board_file에 insert 하려고 하는데, 쿼리를 보니,
$sql_file = " insert into {$g5['board_file_table']}
set bo_table = '{$bo_table}',
wr_id = '{$wr_id}',
bf_no = '0',
bf_source = '{$wr_subject}.png',
bf_file = '{$wr_subject}.png',
bf_content = '',
bf_download = 0,
bf_filesize = '{$upload[$i]['filesize']}',
bf_width = '{$upload[$i]['image']['0']}',
bf_height = '{$upload[$i]['image']['1']}',
bf_type = '{$upload[$i]['image']['2']}',
bf_datetime = '".G5_TIME_YMDHIS."' ";
sql_query($sql_file);
이미지의 filesize, width, height, type 등은 어떻게 알수 있을까요?
이미지는 그냥 수동으로, /html/data/file/test1 파일에 업로드 하고 있습니다.
혹은, 이미지 처리부분에서 다른 방법이 있을까요?
답변 미리 감사드립니다.
답변 3
다음 처럼 구해서 변수명과 필드명에 맞게 쿼리문에 넣으세요
$file = "/html/data/file/test1/". $wr_subject '.png',
$bf_filesize = filesize($file);
$info = @getimagesize($file);
$bf_width = $info[0];
$bf_height = $info[1];
$bf_type = $info[2];
먼저 입력폼에서 input type이 file일경우 update를 하게되면
받는 php 모듈에서 해당 이미지 파일을 $_FILES 변수명으로 받게 됩니다.
그누보드에서 file 명이 bf_file로 되어있습니다.
$_FILES['bf_file'] 로 받게 되면 size, filename 등이 우선 먼저 배열로 정해집니다. (print_r($_FILES['bf_file']) 로 출력을 해보시면 아실수 있습니다.)
올라온 임시 파일을 명을 받아서 getimagesize 함수를 사용하게 되면 배열로 다시 궁금해 하신 width, height, type 이 배열로 리턴이 됩니다.
$tmp_file = $_FILES['bf_file']['tmp_name'][$i];
$filesize = $_FILES['bf_file']['size'][$i];
$filename = $_FILES['bf_file']['name'][$i];
$timg = @getimagesize($tmp_file);
// image type
if ( preg_match("/\.({$config['cf_image_extension']})$/i", $filename) ||
preg_match("/\.({$config['cf_flash_extension']})$/i", $filename) ) {
if ($timg['2'] < 1 || $timg['2'] > 18)
continue;
}
$upload[$i]['image'] = $timg;
...........................
$bf_width = isset($upload[$i]['image'][0]) ? (int) $upload[$i]['image'][0] : 0;
$bf_height = isset($upload[$i]['image'][1]) ? (int) $upload[$i]['image'][1] : 0;
$bf_type = isset($upload[$i]['image'][2]) ? (int) $upload[$i]['image'][2] : 0;
!-->
꼭필요한 것이 아니라면
0 으로 처리하세요