묻고답하기

제가 제로보드 보면서 전에 제가 만들던 자료실게시판을 수정했습니다.

일반 글쓰기는 이상없이 저장이 됩니다  그런데 파일을 지정한후 저장하기를 하면 에러가 발생합니다.

아래소스는 제가 작성한 write_proc.php 라는 파일의 소스그대로 복사해서 붙였습니다.

정확히 에러가 나는  부분은  //중복파일이 있을때 부분의 if(!move_uploaded_file($userfile,$dest)) ErrMsg
부분입니다. 혼자 해결해 볼려고 애를 쓰지만 정말 해결이 안돼서 그럽니다. 제발 도와주십시오..

<?
         include "dbcon.php";

//사용자가 아무값도 입력하지 않았거나 입력한 값이 허용되지 않는 값일 경우 에러메시지를 출력하고 스크립트를 종료한다.
if(!ereg("([^[:space:]]+)", $name)) {
   ErrMsg("입력하신 이름은 허용되지 않는 값입니다.\n\n다시 입력하여 주십시오");
   exit;
}

if(!ereg("([^[:space:]]+)", $subject)) {
   ErrMsg("제목을 입력하여주십시오");
   exit;
}

if(!ereg("(^[0-9a-zA-Z]{4,}$)", $passwd)) {
   ErrMsg("암호는 최소 4자이상의 영문자 또는 숫자여야 합니다.\n\n다시입력하여 주십시오.");
   exit;
}

if(!ereg("([^[:space:]]+)", $comment)) {
   ErrMsg("본문을 입력하지 않으셨습니다.\n\n다시 입력하여 주십시오.");
   exit;
}

//등록한 파일이 업로드가 허용되지 않는 확장자를 갖는 파일인지를 검사한다.
$filename = explode(".", $userfile_name);
$extension = $filename[sizeof($filename)-1];

if(in_array($extension,$prohibited_ext)) {
   ErrMsg("해당파일은 자료실 운영지침에 따라 업로드가 허용되지 않는 파일입니다.\n\n가능하면 압축파일의 형태로 등록하여 주십시오.");
   exit;
}

//등록하려는 파일과 동일한 이름을 갖는 파일이 이미 존재하는지를 검사한다.
$dest = "/upfile/" . $b_name . "/" . $userfile_name;

if($userfile_size>0&&$userfile){

        // 디렉토리를 검사함
        if(!is_dir("upfile/" . $b_name)) {
                mkdir("upfile/" . $b_name,0777);
                @chmod("upfile/" . $b_name,0706);

        }

        /*if(file_exists($dest)) {
           ErrMsg("동일한 이름의 파일이 이미 등록되어 있습니다.\n\n다른 이름으로 업로드하여 주십시오.");
           exit;
        }*/

//----------------------
                        // 중복파일이 있을때;;
        if(file_exists($dest)) {
                if(!move_uploaded_file($userfile,$dest)) ErrMsg("파일업로드가 제대로 되지 않았습니다1  \n\n $userfile:::::$dest");
                        //$file_name1="data/$id/".$reg_date."/".$s_file_name1;
                        @chmod($dest,0706);
                        @chmod("upfile/" . $b_name,0707);
        } else {
                if(!move_uploaded_file($userfile,$dest)) ErrMsg("파일업로드가 제대로 되지 않았습니다2  \n\n $userfile:::::$dest");
                        //$file_name1="data/$id/".$s_file_name1;  
                        @chmod($dest,0706);
        }


        // 작업이 끝난후 임시디렉토리에 저장된 파일을 삭제한다.
        if(!@unlink($userfile)) {
           ErrMsg("업로드 과정중 오류가 발생하였습니다. \n\n관리자에게 문의하여 주십시오.");
           exit;
        }
}

$result = mysql_query("SELECT max(uid), max(fid) FROM $code WHERE b_name='$b_name'");
if (!$result) {
   ErrMsg("QUERY_ERROR");
   exit;
}

$row = mysql_fetch_row($result);
if($row[0]) {
   $new_uid = $row[0] + 1;
} else {
   $new_uid = 1;
}
if($row[1]) {
   $new_fid = $row[1] + 1;
} else {
   $new_fid = 1;
}  

mysql_free_result($result);

//파일이 등록된 시간을 저장한다.
$signdate = time();

//제목과 내용에 포함된 특수문자를 escape시킨다.
$subject = addslashes($subject);
$comment = addslashes($comment);

// 데이터베이스에 입력값을 삽입한다.
$query = "INSERT INTO $code (fid, b_name, userid, name, email, subject, comment, passwd, signdate, ref, userfile, filesize, thread) VALUES ($new_fid, '$b_name', '$userid', '$name', '$email', '$subject', '$comment', $passwd, $signdate, 1,'$userfile_name','$userfile_size', 'A')";
$result = mysql_query($query);
if($result) {

   // 리스트 출력화면으로 이동한다.
   echo ("<meta http-equiv='Refresh' content='0; URL=list.php?code=$code&b_name=$b_name'>");
} else {

   // 에러가 발생하였으므로 이미 업로드된 파일을 삭제한다.
   @unlink($dest);

   ErrMsg("QUERY_ERROR2");
   exit;
}
?>
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
젠이 회원정보에 포인트, 작성글수, 작성댓글수 나오게 하려면 어떻게 해야 되나요? [6] 2011.06.06 by 늘푸른이
정운일 xe를 설치하고서 로그인후에 로그인을 하면 모듈을 찾을 수 없다고합니다 [1] 2011.06.01 by 송동우
nexonx xe게시판에 글을 붙여넣기할 때 텍스트만 붙여넣기되도록 할 수 있는지요? [6] 2012.04.18 by sanpapa
cocoplick 혹시 게시글 추가 내용 출력 사용법아시는분 있으시나요?? [3] 2011.05.28 by cocoplick
칼퇴근 xe 관리자 모드 게시판 설정 화면이 없어요.... [1] 2011.05.19 by 송동우
토깽이2 파폭 4.0.1에서 로그인이 안되는이유가 뭘까요?? [7] 2020.03.14 by SangA
땀모 글쓰기할때 <style> css는 적용안되는건가요? [4] file 2014.02.18 by 땀모
davidis XE 와 django 웹서버 간의 sso [2] 2014.02.18 by davidis
davidis login post 전송시 데이터 보호 [2] 2014.02.18 by davidis
딸꾹질 에디터 바꿔쓸수 있도록 하기  
verysery 구글 네이버에 사이트 노출안되게 하는 방법이 있나요? [6] 2014.02.18 by davidis
davidis SSO 구현 아이디어  
심플XE zoom:1, no white wrap 의 역할은 무엇인가요? [1] 2014.02.18 by 닉이
xe초보자 레벨이랑 포인트 구분할줄 아는분? [6] 2014.02.18 by KrteamENT
qegqge 메뉴바+메인화면이름없애줄려면 무슨줄을삭제해야하나요? [2] 2014.02.18 by ForHanbi
솔개782 index에서 오류가 뜨는데요.. [7] 2014.02.18 by Omega3
생컨 스케치북 게시판 스킨 추가질문 드립니다. [2] file 2014.02.18 by 생컨
qegqge ForHanbi 님감사합니다 하나만더질문할게요 ㅠ [4] file 2014.02.18 by ForHanbi
qegqge 브라우저모드 질문합니다..다다르네요.. file  
서바이버 XML의 값을 Base64로 인코딩하는 방법을 가르쳐주십시요 [5] 2014.02.18 by Omega3
FireChrome PHP를 외부페이지로 사용하고싶습니다. [2] 2014.02.18 by FireChrome
Omega3 이 복권 스킨 어디서 받을 수 있나요. [1] 2014.02.18 by Omega3
edwar footer 질문입니다!!! [2] 2014.02.19 by edwar
FireChrome 혹시 도메인/test.php/?~~이런꼴을 서브도메인사용하는법아시는분?  
라피에르 1.7.4 쉬운업데이트 도중 문제가 발생했어요 ㅠㅠ [2] 2014.02.19 by 가도사
FireChrome 파일저장폴더의 퍼미션을 777로해도 괜찮을까요? [1] 2014.02.19 by 휘즈
genezza 댓글 입력창을 댓글리스트 아래에 위치하게 하고 싶은데요 [2] 2014.02.19 by genezza
kyh2301 레이아웃이 적용 안되는 문제 [3] 2014.02.19 by Bokmani
이온디 게시판 목록에서 글 한 개만 출력하기 [4] 2014.03.08 by foret
Xe초보자 리퍼러 통계 모듈이랑 대시보드에 시간대 접속자 수가 다릅니다..