테스트 사이트 - 개발 중인 베타 버전입니다

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

멀티트리플 3개월 전 조회 2,894

</p>

<p>if( $_FILES['bf_file'][size][0] > 0 ) {

        $f_no = $mb_id;</p>

<p>        $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;</p>

<p>        $dest_ad_file = G5_PATH.'/upload/license/'.$license_name1;        

        move_uploaded_file($_FILES['bf_file'][tmp_name][0], $dest_ad_file);</p>

<p>        chmod($dest_ad_file, 0707);

        $update_license .= " , com_license = '{$license_name1}' ";

    }</p>

<p>

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개

채택된 답변
+20 포인트
그누위즈
3개월 전

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

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

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

멀티트리플
3개월 전
실제적인 tmp가 write_update.skin 에서 사용하고 없어졌다는 말씀이신거죠?
멀티트리플
3개월 전
$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 ){
@copy($src_dir.'/'.$row3['bf_file'], $dest_ad_file);
chmod($dest_ad_file, 0707);
}
}

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

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

댓글을 작성하려면 로그인이 필요합니다.

3개월 전

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

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

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

멀티트리플
3개월 전
감사합니다.

덕분에 힌트를 얻었습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인