웹마스터 팁

^.^ 언제나 재밌는 소스만 들고오는 아이쿠입니다.
이번에도 역시 늘그렇듯이 서버에 부담을 주는 소스 입니다.

그림파일을 DB에 넣는 방법입니다.
그림파일을 Base64방식으로 엔코딩후 DB에 저장 불러올때는 디코딩해서 보여줍니다. ^^;

MySQL 기준입니다. ^^;

DB에 테이블을 일단 만들어야 겠지요.? ^^;
---------------------------------------------------------------------------
CREATE TABLE upfile (
  aduid mediumint(9) unsigned DEFAULT '0' NOT NULL auto_increment,
  comment text NOT NULL,
  PRIMARY KEY (aduid)
  );
---------------------------------------------------------------------------

upload.php 그림을 DB에 저장하는 소스입니다.
---------------------------------------------------------------------------
<?PHP
$size = filesize("이미지화일이름");   // 이미지 화일의 크기를 구합니다.
$fp = fopen("이미지화일이름","r");
$haha = fread($fp,$size); // 이미지화일 포인터($fp)를 이미지크기($size) 만큼 읽습니다
fclose($fp);

$end = base64_encode("$haha"); // $haha를 base64 형식으로 변환(엔코딩)합니다
$dbconn = mysql_connect("localhost","사용자아이디","사용자비밀번호") || die("데이터베이스 연결에 실패하였습니다.");  // 데이타베이스에 연결합니다.
$status = mysql_select_db("db_name");

$query = "INSERT INTO upfile (comment) VALUES ('$end')";  // $end를 테이블에 넣습니다.
$result = mysql_query($query);
echo("완료");
?>
----------------------------------------------------------------------------------------------------
그럼 저장이 완료 됩니다. 물론 실행시키실때마나 DB에 추가됩니다.


Load.php  그림을 DB에서 불러오는 소스입니다.
----------------------------------------------------------------------------------------------------
<?PHP
$dbconn = mysql_connect("localhost","ibuser","ibpass") || die("데이터베이스 연결에 실패하였습니다.");
$status = mysql_select_db("db_name");
// 데이타베이스에 연결합니다.

$query = "SELECT comment FROM upfile WHERE aduid = 1";  // 테이블에서 aduid필드가 1인 comment를 선택합니다. ^^; 저장데이터가 여러개라면 당연히 숫자만 적당히 조절 선택하여 불러올수 있습니다.

$result = mysql_query($query);
$row = mysql_fetch_row($result);
$my_name = $row[0];

$end = base64_decode("$my_name");  // $haha를 base64 형식으로 만든 텍스트를 복원(디코딩)합니다
echo("$end");  //
?>
----------------------------------------------------------------------------------------------------
^.^ 속도도 괜찮고 쓸만한것 같습니다. 다만 DB에 조금 무리를 줄꺼 같네요.. ^^;
용량이라도 큰 그림을 집어 넣고 불러올려면.. 그만큼 DB를 붙잡고 있어야 하니.. ^^;

그럼 이만 줄입니다. ^^;
제목 글쓴이 날짜
기초 통계 프로그램 for 귀차니스트;; [3] TheMics 2002.08.10
Print 이건또 뭐지? 사이트 찾다보니 있던데..^^ [13] ZipShin 2002.08.16
제로 카운터 숫자 조정하기 [8] 이주경 2002.08.21
누구나 만들수있는 게시판 [schema, write, write_ok] [10] Mr. JH 2002.08.21
누구나 만들수있는 게시판 [글목록 list.php 부분] [6] Mr. JH 2002.08.21
누구나 만들수있는 게시판 [글보기 view.php 부분] [1] Mr. JH 2002.08.21
누구나 만들수있는 게시판 [글삭제, 수정 부분] [4] file Mr. JH 2002.08.21
테이블 생성시 데이터베이스의 타입설정 [2] Mr. JH 2002.08.22
꼭 알아야 하는 4가지 쿼리문 Mr. JH 2002.08.22
PHP에서 사용하는 간단하지만 중요한 MySQL함수들 [3] Mr. JH 2002.08.22
PHP 시간관련 함수 [3] Mr. JH 2002.08.22
PHP의 제어구조 [2] Mr. JH 2002.08.22
파일하나로 만드는 한줄 메모장(테마기능 포함) [8] Mr. JH 2002.08.22
[허접] rand() 함수를 이용한 뒤죽박죽 날짜 출력 [5] Myzzix 2002.08.23
[허접] implode() 함수로 배열을 변수로! Myzzix 2002.08.23
sleep() 제대루 쓰기... 요것두 [별루 알아도 도움 안되는 팁] [5] sMokaHallo 2002.08.24
변수를 사용하여 echo로 변수값 출력하기. [7] ZipShin 2002.08.28
array_multisort를 이용한 간단한 순위체크 [4] Doogi 2002.08.28
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 1 [17] 아이쿠 2002.08.30
초보의 php를 활용한 OneFrame(NoFrame) 홈페이지 만들기 - 2 [11] 아이쿠 2002.08.30