웹마스터 팁

http://www.koreaphp.co.kr/tip_board/board_read.php?page=2&block=1&no=61&cate=43&parent=61- DB에 File을 저장
BLOB type을 이용하여 DB에 직접 저장

- Server의 지정된 Directory에 저장
파일의 위치와 이름만 DB에 저장
별도의 입출력 루틴이 필요하지 않다는 장점
파일의 수가 많아지면 관리가 힘듬
File의 실제 위치와 DB의 정보 불일치 가능성
File의 이름 충돌

- 디비 구조
CREATE TABLE gallery(
id INT NOT NULL auto_increment, image BLOB NOT NULL,
title VARCHAR(100) DEFAULT '' NOT NULL,
width SMALLINT(6) DEFAULT '0' NOT NULL,
height SMALLINT(6) DEFAULT '0' NOT NULL, file_size INT , # 파일크기
PRIMARY KEY (id)
) ;


- 이미지 받아들이는 HTML 소스

<form action='gallery.html' method='POST' enctype='multipart/form-data'>
<INPUT TYPE=hidden name=mode value=insert>
<TABLE>
<TR> <TD>올릴 이미지:</TD>
<TD><input type='file' name='image'></TD></TR>
<TR> <TD>제목</TD>
<TD><input type='text' name='title'></TD></TR>
<TR> <TD colspan = 2>
<input type='submit' value='이미지 전송 '></TD></TR>
</TABLE>
</form>


- 이미지를 저장하는 php 소스

$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
$imageblob = addslashes(fread(fopen($image, "r"), filesize($image)));
$filesize = filesize($image) ;

$query=" INSERT INTO gallery VALUES ('', '$imageblob', '$title', '$width','$height', '$filesize', '$detail' )" ;
$result=mysql_query($query,$connect );


- 이미지 리스트 보여주는 소스

$query= "select id, title, width, height from  gallery order by id DESC " ;
$result=mysql_query($que1,$connect );
$row=mysql_fetch_array($result);
 echo( "<table bordr=1 width=90% align=center>
<tr> <td>이미지</td>
  <td>제목</td>  
</tr>
");

while($row){
    echo ( "<tr><td><img src=./view.html?id=$row[id]
width=$row[width] height=$row[height] ></td>
<td>$row[title]</td> ");
  $row=mysql_fetch_array($result);
  }
  echo( "</table>");
}


- 이미지 보여주는 소스

<?php
$connect=mysql_connect(  "localhost",  "계정명",  "비번");
  mysql_select_db( "디비명",$connect);
$query= "select * from gallery where id=$id" ;
  $result=mysql_query($query,$connect );
$row=mysql_fetch_array($result);

  Header(  "Content-type:  image/jpeg");
  echo $row[image];
mysql_close();
?>
제목 글쓴이 날짜
윈도우XP 서비스팩2 사용자인지 아닌지 판별하기 [22] file 天高馬肥[쉬드] 2004.10.09
echo 안에 더블쿼테이션을 사용하기 [15] 토토루 2004.10.05
trim 과 addslashes를 일괄처리하는 함수 [7] BigStone 2004.10.02
'' -> ""로 만들기(?) [2] 플로렐라 2004.09.17
crontab 실제 사용 예제, 온라인 웹 게임 운영하기 (팁 + 오픈 소스 게임 소개 ^^;) [1] 박용구 2004.09.14
날씨별로 다양한 말이나 음악 보여주기[수정] [4] 로크 2004.09.13
-긴급소스 수정본- winamp 방송정보 알아내기 file 이승원 2004.09.11
랜덤으로 파일 가져와서 재생하고, 끝나면 다른 랜덤파일 또 재생하기.. 겜방 2004.09.10
썸네일 생성시 unsharp mask활용할수 있는 팁..소스 file 앗싸~~ 곰세마리 2004.09.06
Echo 여러번호출? 할때 깜빡임 없애기 [5] file 신희돈 2004.09.03
서브디렉토리,파일까지 모두 삭제하는 함수. [5] Lepas 2004.08.24
4. include, require 그리고 뽀나쓰~ [8] 티다 2004.08.19
공유 메모리 제어에 관한 함수 정리 (공유메모리) [5] Simsim 2004.08.16
접속자 IP 주소 텍스트로 저장 [7] 천상원 2004.08.15
PHP프로그램에 간단한 인증(로그인) 걸기. [15] Lepas 2004.08.09
파일업로드시 파일명 중복되지 않게 저장하기... [6] 김지호 2004.08.06
ISO 3166 국가코드로인한, 국가 검출소스 [4] kein23 2004.08.04
IP 뒤에 두칸 글자 길이에 따라서 *로 나타내기 [13] Sy-Tgt(stargt) 2004.07.30
php로 이미지를 mysql디비 저장하고 보여주는 소스 [2] QQQ 2004.07.30
디비내용을 엑셀,워드,파워포인트 파일로 다운로드 시키는 방법 [13] QQQ 2004.07.30