[질문]파일 업로드시 디비 입력 오류에 대한 질문입니다.

price의 이미지

파일업로드와 파일 구분 저장은 정상적으로 잘 됩니다.

그런데 지정해준 첨부파일이 아닐 경우에는 디비에 남지 않아야 하는데 남네요.

어디가 잘못 되었는지 조언 바랍니다.

나름데로 여기저기 알아보는데 통 알수가 없네요...

소스는 아래와 같습니다.

///////////////////////////////////////////////////////////////////////

<?

include "config.php";

if(!$userfile_name) {

       $filepath = "첨부파일이 없습니다.";



       $query = "insert into $board values ('','$name','$pass','$filepath','$userfile_name','$userfile_size',now())";
       $result = mysql_query($query,$db);

       echo ("
       <script>
              window.alert('정상적으로 파일 없이 잘 처리되었습니다.');
              location.href='up.php';
       </script>
              ");
}

else {
       $save_path = "upload/";

       $zip = "zip/";
       $gif = "gif/";

       $ext = explode(".",$userfile_name);   /// post방식으로넘겨받은 파일명에서 파일명과 확장자를 분리


       $file_ext = $ext[1];
       $file_name = $ext[0];


       if ($file_ext == "zip" || $file_ext == "gif") {

              switch ($file_ext) {
                     case zip:
                            $find_path = $save_path.$zip;
                            break;
                     case gif:
                            $find_path = $save_path.$gif;
                            break;
              }
       }

       else 
              {
              echo ("
              <script>
                     window.alert('[!] 사용할 수 없는 파일 형식입니다');
                     history.go(-1);
              </script>
                     ");
       }

if ($userfile_size > 10000000000) {
  echo ("
  <script>
  alert('파일 용량이 초과했습니다.')
  history.go(-1)
  </script>
  ");
  exit; }
  else {

if ($userfile_size > 0) {
exec("mv \"$userfile\" \"$find_path.$wdate/$userfile_name\"");
chmod("$find_path.$wdate/$userfile_name", 0644);
}

  }

       $filepath = $find_path.$userfile_name;

       if (!$id) {

              $query = "insert into $board values ('','$name','$pass','$filepath','$userfile_name','$userfile_size',now())";
              $result = mysql_query($query,$db);

              echo ("
                     <script>
                            window.alert('파일 첨부 정상 처리 되었습니다.');
                            location.href='up_list.php';
                     </script>
                            ");
       }

       else {
              echo ("
                     <script>
                            window.alert('[!]저장에 실패 했습니다.');
                            history.go(-1);
                     </script>
                            ");
       }
}


?>

/////////////////////////////////////////////////////////////////////////////

해당 디비 내용입니다.

mysql> select * from test_board;
+----+--------+------+-----------------------+--------------+----------+---------------------+
| id | name | pass | filepath | filename | filesize | wdate |
+----+--------+------+-----------------------+--------------+----------+---------------------+
| 3 | dfs | dsf | upload/gif/shadow.gif | shadow.gif | 5476 | 2005-01-27 18:55:48 |
| 2 | xx | xcxc | upload/gif/over.gif | over.gif | 4473 | 2005-01-27 18:54:43 |
| 4 | hds | dfh | &Atilde;·º&Icirc;Æ&Auml;&Agrave;&Iuml;&Agrave;&Igrave; ¾ø½&Agrave;´&Iuml;´&Ugrave;. | | 0 | 2005-01-27 18:57:41 |
| 5 | gfhgfj | ghdj | &Aacute;&Acirc;&Atilde;ø¸Þ´º.txt | &Aacute;&Acirc;&Atilde;ø¸Þ´º.txt | 6637 | 2005-01-27 18:57:57 |
| 6 | 23 | g66q | ¸Þ&Agrave;&Icirc;.txt | ¸Þ&Agrave;&Icirc;.txt | 4573 | 2005-01-27 18:59:30 |
| 7 | dsa | dga | °ø&Aacute;&ouml;.txt | °ø&Aacute;&ouml;.txt | 2887 | 2005-01-27 19:04:53 |
+----+--------+------+-----------------------+--------------+----------+---------------------+
ID = 2 ~ 3 번은 지정 첨부파일이고요, 나머지는 지정 첨부파일이 아닙니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.