게시판에서 파일업로드 후 추가로 파일을 다른곳으로도 업로드를 하고싶습니다.

게시판에서 파일업로드 후 추가로 파일을 다른곳으로도 업로드를 하고싶습니다.

QA

게시판에서 파일업로드 후 추가로 파일을 다른곳으로도 업로드를 하고싶습니다.

답변 2

본문


if( $_FILES['bf_file'][size][0] > 0 ) {
        $f_no = $mb_id;
        $origin_name = basename($_FILES['bf_file']['name'][0]);
        $clean_name = preg_replace('/[^a-zA-Z0-9._-]/', '_', $origin_name);
        $license_name1 = $f_no . "_1_" . $clean_name;
        $dest_ad_file = G5_PATH.'/upload/license/'.$license_name1;        
        move_uploaded_file($_FILES['bf_file'][tmp_name][0], $dest_ad_file);
        chmod($dest_ad_file, 0707);
        $update_license .= " , com_license = '{$license_name1}' ";
    }

skin폴더에서 write_update.skin.php 에 위와 같이 작성을 했는데요

파일이 안올라가네요

print_r 로 bf_file을 출력하면
Array ( [bf_file] => Array ( [name] => Array ( [0] => boxloading.gif ) [type] => Array ( [0] => image/gif ) [tmp_name] => Array ( [0] => /tmp/phpyXZqP2 ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 115624 ) ) )

요렇게 나옵니다.

이 질문에 댓글 쓰기 :

답변 2

해당 write_update.skin.php 파일에서는

이미 tmp폴더의 이미지가 사라지고 없을겁니다.

이전 bbs/write_update.php 파일에서 이미 첨부파일을 처리하였으므로...

따라서 해당 게시물을 다시 읽어다가 첨부파일의 절대경로의 파일을 복제해서

다른곳으로 copy해야할겁니다.

$sql3 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no ";
$row3 = sql_fetch($sql3);

if( $row3['bf_file'] ){
$src_dir = G5_DATA_PATH.'/file/'.$bo_table; // 원본 디렉토리

$is_exist_file = is_file($src_dir.'/'.$row3['bf_file']) && file_exists($src_dir.'/'.$row3['bf_file']);
if( $is_exist_file ){
($src_dir.'/'.$row3['bf_file'], $dest_ad_file);
chmod($dest_ad_file, 0707);
}
}

임시파일이 한번 사용되고나면 사라진다는 가설을 두고서
기존 파일정보를 가져와서

다시 불러와서 copy로 처리했습니다.

이미 임시파일을 업로드해서 그런게 아닐까 생각되네요. 

게시판에 올라간 파일을 복사하셔야 할 거 같습니다.

bbs/move_update.php 에서 파일 복사하는 부분이 있는데 해당을 참고해서 기존 게시판에서 파일을 가지고 와서 복사하시면 될 거 같습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php ×
전체 15,825
© SIRSOFT
현재 페이지 제일 처음으로