웹마스터 팁

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();
?>
제목 글쓴이 날짜
유동아이피로 고정아이피 만들수있는 유틸 [27] 론건맨 2003.10.10
xp어플 개발시 사진 회원 바로잡아 주는 함수 웹빌드 2014.03.09
날짜를 출력하는 간단한 소스입니다 낮은자 2014.03.07
[jQuery] 클릭하면 내용이 사라지는 방법 낮은자 2014.03.07
한글, 영문, 숫자, 특수문자 체크하는 함수 ByteCMC 2014.03.07
자주 쓰이는 정규표현식 모음 투니페이퍼 2014.03.06
css3 둥근테두리 만들기 낮은자 2014.03.06
XE 어플로 만들때 PUSH 기능처리 방법 웹빌드 2014.03.06
페이지 모듈에서 다국어 기능 작동 안 하는 버그 패치법 [1] sejin7940 2014.03.04
폰갭 제작 어플 gcm 발송시 변수 웹빌드 2014.03.04
xe 홈페이지 폰갭으로 묶을때 웹빌드 2014.03.03
방명록 댓글 줄바꿈 메디칼온 2014.03.03
스케치북5 모바일 댓글 작성시 엔터를 쳤을 때 <br /> 코드 뜨는 문제 해결 [7] oryan 2014.02.23
홈페이지 접속자, 글(댓글) 작성자 국가 국기 표시 적용 방법 [19] file 라싸 2014.01.08
[팁 시리즈 2] 한글 도메인이나 영문 도메인 설정을 잘못 건드려서 사이트의 모든 기능이 거의 먹통입니다! Omega3 2014.03.01
[팁 시리즈 1] 웹 사이트 이전 및 복구/백업(이)가 되지 않습니다! [6] Omega3 2014.02.28
정규식 문법 웹엔진 2014.02.28
썸네일 생성시 crop 이 상단 기준으로 생성되게 하는 방법 [5] sejin7940 2013.10.04
기초설명_알고리즘(algorithm) [2] ifnelse 2008.07.28
사이트 url에 자꾸 index.php 가 붙어다닐때 [7] file 마시멜 2011.05.01