테스트 사이트 - 개발 중인 베타 버전입니다

그림을 디비에 저장하는 방법

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

그림파일을 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를 붙잡고 있어야 하니.. ^^;

그럼 이만 줄입니다. ^^;<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
8947
8946
8945
8939
8930
8924
8922
8914
8909
8907
JavaScript home, end키 1
28496
8906
8905
8903
28495
8901
8894
8893
8888
8885
8883
8881
8872
8868
8856
8853
8852
8849
8847
8842
8838
8833
8829
8824
8821
8819
8818
28492
8817
8814
28490
8811
8810
8809
8805
8804
8801
8797
8799
8795
8789
8784
8782
8772
8771
28488
8768
28486
8765
8761
8756
8751
28480
8746
JavaScript 이동툴 4
8739
8735
28476
8726
8725
8718
8710
8703
8700
8697
8694
8693
8692
8691
8689
8686
8680
8678
8671
8670
8667
28465
8665
8664
8663
8662
8661
8660
8659
8657
8656
8641
8628
8627
8626
8625