웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
^.^ 그림을 DB에 집어넣어 버리기..
2003.01.30 11:12
^.^ 언제나 재밌는 소스만 들고오는 아이쿠입니다.
이번에도 역시 늘그렇듯이 서버에 부담을 주는 소스 입니다.
그림파일을 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를 붙잡고 있어야 하니.. ^^;
그럼 이만 줄입니다. ^^;
이번에도 역시 늘그렇듯이 서버에 부담을 주는 소스 입니다.
그림파일을 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를 붙잡고 있어야 하니.. ^^;
그럼 이만 줄입니다. ^^;
댓글 13
제목 | 글쓴이 | 날짜 |
---|---|---|
여러분이 원하시던 로또복권 소스공개~ [12] | Dopesoul | 2003.02.22 |
NZEO 이메일 인증 따라하기 [또 수정 --;] [44] | teslaMINT | 2003.02.22 |
계정이 php를 지원하는지아닌지 잘 모를때... [16] | 격투왕맹호 | 2003.02.19 |
유용한 함수 몇가지...;;;; [7] | Yuki-H. | 2003.02.19 |
PHP,자바스크립트 제 3탄! 아래에 헤더로 asx감추기를 이용한 PHP무비 플레이어! | ☆좀비파우더™ | 2003.02.16 |
DB를 이용한 현재접속자 수 구하기 [6] | 김현석 | 2003.02.14 |
[초간단] 헤더로 asx 파일 음악 주소를 숨겨봐요. [9] | 모라미 | 2003.02.14 |
제로보드 스킨들이 어느 게시판에 쓰이는지 알아보는 소스 [12] | teslaMINT | 2003.02.11 |
V3 neo+ 항상 최신버전으로 자동링크시키기 [7] | 김현석 | 2003.02.08 |
자신의 디비내용을 출력해주는 소스 [출처: phpschool.com] [5] | 석이™ | 2003.02.05 |
제로보드식 에러페이지 만들기 [2] | .zeve | 2003.02.04 |
야구 자료실 2 (목록 만들기) | 한꼬마 | 2003.02.02 |
야구 자료실 만들기 1 [8] | 한꼬마 | 2003.01.30 |
PHP,자바스크립트 활용하기 #1 -무단링크라는 것은... [21] | ☆좀비파우더™ | 2003.01.30 |
^.^ 그림을 DB에 집어넣어 버리기.. [13] | 아이쿠 | 2003.01.30 |
lotto 번호 추출기 [7] | 갑빠™ | 2003.01.29 |
제로보드 코멘트 수정 기능 구현!! [13] | teslaMINT | 2003.01.28 |
NZEO 쪽지 수신 허용/거부 따라하기 ~(=ㅁ=)~ [12] | teslaMINT | 2003.01.28 |
[제로카운터 수정하기#4-초보용] 인트로에서 카운트 체크하고 메인에서 카운트 보여주기 [3] | 김태훈 | 2003.01.22 |
[제로카운터 수정하기#3-초보용] 어제 오늘 방문자수 변경하기 | 김태훈 | 2003.01.22 |