0
 829   42   9
  View Articles

Name  
   이재선  (2005-01-15 00:24:35, Hit : 7664, Vote : 1494)
Subject  
   파일이름을 다시 줄려면 어떻게 하나요?
제가 지금 파일 이름을 mktime()함수를 써서 업로드를 하고 있습니다.
한글 문제를 피할려고요 그런데 문제는 폴더를 보면 데이타 파일로 변해 버리더군여.^^;;;원래 제가 구현하고 싶었던 것은 클라이언트가 사진을 업로드 하면 업로드 폴더에 01.jpg 02.jpg 03.jpg이러한 식으로 파일명을 숫자나 영어로 일정하게 증가시켜서 저장하고 싶었습니다. 하지만 도저히 모르겠더라구염;;;

<?php
   include "./connect.php";

   $target_dir = "up";  // 서버에 up 이라는 디렉토리를 만들었음


   # ----------------------------------------------------------------
   # 파일이 업로드되었을 경우
   # ----------------------------------------------------------------

echo "1. 초기업로드 :  $upfile <br>";
   if($upfile != '')
   {
      // 업로드 금지 파일 식별 부분
      $filename = explode(".", $upfile_name);

          $res=mktime();

      //확장자를 가려냄
      $extension = $filename[sizeof($filename)-1];

          $extension = strtolower( $extension );

          echo("파일 이름 $filename[0]");

      
      echo "2. 확장자 검사 :  $extension <br>";
      if( !( strcmp($extension,"png") || strcmp($extension,"gif") || strcmp($extension,"jpg") ) )
      {
         echo( "업로드가 금지된 파일입니다.");
      }
    
      // 동일한 파일이 있는지 확인하는 부분
      $target = $target_dir . "/" . $res;
        
          

      echo "2. 복사할 파일 중복체크 :  ". file_exists($target) ." <br>";

          echo "<br> 원본 : $upfile , 복사본 : $target <hr>";

      if(file_exists($target)) {
        echo("동일한 파일이 있습니다.");
      }
    
      // 지정된 디렉토리에 파일 저장하는 부분
      $rtn = move_uploaded_file($upfile,$target) or die( "3. 카피에러" );
      if(!$rtn )
      {   // false일 경우
          echo( "파일 저장 실패");
      }
      
   }

   # ----------------------------------------------------------------
   # 디비 저장
   # ----------------------------------------------------------------
   $query="insert into test values('','$name','$comment','$target','$upfile_name')";
   $result=mysql_query($query);
   if($result)
   {
      echo("질의 성공");
   }
   else
   {
      echo("질의 실패");
   }
?>
소스는 이렇고요 id가 프라이 머리 키 이고 자동 증가 함수 입니다. 어떻게 해야 될지  조언 좀 부탁 드립니다.

손병목
안녕하세요. 손병목입니다.

위에서 move_uploaded_file 함수가 정확하게 어떤 기능을 하는지 모르겠습니다.

아래의 PHP 강좌를 기준으로 설명드리는 게 더 나을 것 같습니다.

http://www.itmembers.net/board/view.php?id=php2&no=9

이 소스 46행을 보면, copy 함수를 사용해 업로드한 임시 파일을 실제 서버에 복사하고 있습니다.
copy 함수는 copy(소스,타겟)과 같은 식으로 사용됩니다.
이 때 타겟의 파일 이름을 사전에 바꾸면, 다른 이름으로 저장이 되는 것입니다.
예를 들어,
40행을 보면 $target = $target_dir."/".$upfile_name 이라고 되어 있는데,
여기서$upfile_name의 값을 임의로 주면 됩니다.
이 $upfile_name 의 이름을 어떻게 주는지는 응용하기 나름입니다.
예를 들어 mktime을 사용하여 업로드되는 현재의 시간을 파일이름으로 줄 수도 있습니다. 이 부분은 생각하기에 따라 수많은 응용 로직이 나올 수 있습니다.
한번 직접 구상해보시기 바랍니다.
 2005/01/16 15:12:13    


no
subject
name
date
hit
*
669
  PHP 게시판 만드는 도중 문제가 생겼... [1]

허창민
2005/03/13 8081 1554
668
  도와주세요~~쿼리문이 잘안되네요. [1]

이지성
2005/03/08 7603 1500
667
  사용자 인터페이스(ui) 구현에 관해서 [2]

seipina
2005/03/03 7590 1434
666
  운영자의 프로필을 보며~ [1]

이지성
2005/03/03 7333 1472
665
  하이링크 김태영 입니다 운영자님 검토바... [1]

김태영
2005/02/23 7471 1465
664
  안녕하세요 ^^ 강의 잘 보고 갑니다. [1]

암시로
2005/02/09 7078 1240
663
  두개의 콤보박스링크하기 [1]

신입생
2005/02/07 7840 1286
662
  PHP게시판 만들기2를 계속하지 않는가... [2]

서영승
2005/01/25 7947 1269
661
  스크립트 언어에 대해 [2]

유비쿼터스
2005/01/22 6619 1311

  파일이름을 다시 줄려면 어떻게 하나요? [1]

이재선
2005/01/15 7664 1494
659
  테이블 설계에 대해서 [2]

이재선
2005/01/13 7624 1552
658
  넹~~ 그런데 [1]

이재선
2005/01/13 6975 1243
657
  다시 질문 올립니다. [2]

이재선
2005/01/10 6772 1253
656
  JDBC, ODBC에 대해 궁금해요 ^^; [1]

강수봉
2005/01/10 7156 1282
655
  갤러리를 만들려고 합니다. [1]

이재선
2005/01/09 7119 1264
654
  한 수 부탁드립니다. [2]

임춘식
2005/01/02 7103 1337
653
  웹서버에 관한 질문입니다. [4]

봉이
2004/12/30 6783 1219
652
  게시판에 관해서 [8]

석수정
2004/12/22 10203 1497
651
  라이브러리에 관해.. [1]

seipina
2004/12/19 7502 1269
650
  운영체제에 관한 질문입니다 [1]

강동주
2004/12/10 7071 1320
[1][2][3][4][5][6][7][8] 9 [10]..[42] [next]

Copyright 1999-2019 Zeroboard / skin by Zetyx