database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 2982 게시물 읽기
No. 2982
# [정보]php와 mysql을 이용한 이미지 업로드 및 보기 소스
작성자
최성훈
작성일
2000-08-02 10:53
조회수
8,035

재익님 글을 보고 공개를합니다. 도움이 되었으면..

그냥 단순히 업로드하고 볼 수 있는 프로그램입니다.

직접 고치셔서 더 멋지게 만들어 보세요~~

 

 

기본 소스는 업로드 소스와 db에 삽입하는 소스를 토대로 나름대로 테이블 구성해서 만들었습니다.

upload.php -> 업로드 폼 과 실제 업로드해서 db에 삽입하는 루틴입니다. 변수는 보시면 upload.php?mode=show_form 과 mode=insert로 나뉘어집니다.

show.php -> 이미지의 리스트를 출력해서 리스트를 보여줍니다.

showtype.php -> 이미지보기를 클릭하면 이 소스가 실행이 되어서 이미지를 보여줍니다.

www.anskor.co.kr/upload.zip -> 소스를 압축해 놨습니다. 필요하신분 다운 받으세요~

실제 작동은 www.anskor.co.kr/cgi-php/show.php 입니다.

업로드 폼은 www.anskor.co.kr/cgi-php/upload.php?mode=show_form

---------------------upload.php-------------------------

<html>

<body>

<?php

 

function input_form() {

echo "이미지 업로드 화면입니다.";

echo(" <form action=\upload.php?mode=insert\ method=\POST\ enctype=\multipart/form-data\>"); // 파일을 업로드 시키기 위해서는 enctype='multipart/form-data' 라는 옵션을 같이 써 주어야 합니다.

echo("

<table width=\408\ border=\1\ bordercolorlight=\#000000\ bordercolordark=\#FFFFFF\ cellpadding=\0\ cellspacing=\0\>

<tr>

<td width=\80\ align=\right\><font size=\2\ face=\굴림\>올릴 파일 : </font></td>

<td width=\222\><input type='file' name='binaryfile'></td>

</tr>

<tr>

<td width=\80\ align=\right\><font size=\2\ face=\굴림\>제목 : </font></td>

<td width=\222\> <font size=\2\ face=\굴림\>

<input type=\text\ name=\title\ size=\30\ maxlength=\30\>

</font></td>

</tr>

<tr>

<td width=\80\ align=\right\><font size=\2\ face=\굴림\>설명 : </font></td>

<td width=\222\> <font size=\2\ face=\굴림\>

<input type=\text\ name=\comment\ size=\30\ maxlength=\100\>

</font></td>

</tr>

<tr>

<td width=\80\ align=\right\><font size=\2\ face=\굴림\>파일분류 : </font></td>

<td width=\222\> <font size=\2\ face=\굴림\>

<input type=\text\ name=\kind\ size=\30\ maxlength=\50\>

</font></td>

</tr>

<td colspan=2 align=center><input type='submit' name='submit' value='전송'></td>

</tr>

</table>

</form> ");

}

 

function data_write() {

global $binaryfile;

global $binaryfile_name;

global $binaryfile_size;

global $binaryfile_type;

global $title;

global $comment;

global $kind;

global $que;

global $connect;

 

mysql_connect("localhost","ID","Password")||die("MySQL server에 연결할 수 없습니다.");

mysql_select_db("Image_db");

if ((!$title)||(!$comment)||(!$binaryfile))

{

echo "제목 및 내용을 입력하세요.";

exit;

}

if(!empty($binaryfile_name)) {

$filename = $binaryfile_name;

$filesize = $binaryfile_size;

$filetype = $binaryfile_type;

echo " $filename $filesize $filetype<br>";

// $PSize = filesize($binaryfile);

$mysqlPicture = addslashes(fread(fopen($binaryfile,"r"),$binaryfile_size));

$que = "insert into women (image, filesize, filename, filetype, comment, title, kind) values('$mysqlPicture','$filesize','$filename','$filetype','$comment','$title','$kind')";

$result = mysql_query($que);

if (!$result)

{

echo " DB 테이블 입력 쿼리 에러입니다.";

mysql_close();

exit;

}

unlink($binaryfile); //임시로 만들어졌던 파일을 삭제합니다.

echo "이미지 입력이 완료가 되었습니다.";

mysql_close();

exit;

}

else {

$filename ='';

$filesize =0;

$filetype ='';

echo "화일이 존재하지 않습니다. Error!";

exit;

}

 

 

}

 

if($mode=='show_form')

input_form();

 

else if($mode=='insert')

data_write();

else if(!$mode)

exit;

 

 

?>

 

---------------------show.php------------------------------

<html>

<body>

<?php

 

mysql_connect("localhost","ID","Password")||die("MySQL server에 연결할 수 없습니다.");

mysql_select_db("Image_db");

$que = "select id,filesize,filename,filetype,comment,title,kind from women";

$result = mysql_query($que);

if (!$result)

{

echo " DB 테이블 입력 쿼리 에러입니다.";

mysql_close();

exit;

}

echo "이미지 자료실<br><br>";

echo "<table border=1><tr>

<td>번호</td>

<td>제목</td>

<td>설명</td>

<td>용량</td>

<td>이미지보기</td></tr>";

while($row=mysql_fetch_row($result))

{

echo "<tr>

<td>$row[0]</td>

<td>$row[5]</td>

<td>$row[4]</td>

<td>$row[1]</td>

<td><a href=\showtype.php?id=$row[0]\>$row[2]</a></td></tr>

";

}

 

mysql_close();

exit;

 

?>

</body>

</html>

 

------------------------showtype.php--------------------------

<?php

 

mysql_connect("localhost","ID","Password")||die("MySQL server에 연결할 수 없습니다.");

mysql_select_db("Image_db");

$result = mysql_query("select * from women where id = $id");

$row = mysql_fetch_row($result);

Header("Content-type:$row[4]");

echo $row[1];

mysql_close();

exit;

 

?>

[Top]
No.
제목
작성자
작성일
조회
2992에러 메세지가.....ERROR 1064: parse error near 'FLUSH PRIVILEGES' at line 1.좀 봐주세용!!
ulkeni
2000-08-02
2329
3003┕>Re: 에러 메세지가.....ERROR 1064: parse error near 'FLUSH PRIVILEGES' at line 1.
정재익
2000-08-03 16:13:48
2600
3019 ┕>Re: Re: 에러 메세지가.....ERROR 1064: parse error near 'FLUSH PRIVILEGES' at line 1.
ulkeni
2000-08-03 23:44:45
2794
3032  ┕>Re: Re: Re: 에러 메세지가.....ERROR 1064: parse error near 'FLUSH PRIVILEGES' at line 1.
정재익
2000-08-04 19:16:34
2661
2991# mysql에서의 error message..
이기현
2000-08-02
2009
3002┕>Re: # mysql에서의 error message..
정재익
2000-08-03 16:08:32
2180
2983# Mysql에 데이터를 삽입할려고 하는데....
이두행
2000-08-02
2017
2987┕>Re: # Mysql에 데이터를 삽입할려고 하는데....
정재익
2000-08-02 12:22:16
1979
2988 ┕># Re: Re: # Mysql에 데이터를 삽입할려고 하는데....
이두행
2000-08-02 12:37:47
2116
2982# [정보]php와 mysql을 이용한 이미지 업로드 및 보기 소스
최성훈
2000-08-02
8035
2986┕>Re: # [정보]php와 mysql을 이용한 이미지 업로드 및 보기 소스
정재익
2000-08-02 12:04:04
2160
3030┕>Re: #죄송하지만 db에 대해서도 글을 남겨주시면 감사하겠습니다.
natoby
2000-08-04 22:32:54
2205
2979# mysql 에서 행갯수를 select 하는 키워드가 있나요?
차영훈
2000-08-02
1601
2981┕># Re: # mysql 에서 행갯수를 select 하는 키워드가 있나요? -&gt; limit
문태준
2000-08-02 10:47:59
1715
2975리눅스 파티션에 관한 질문 입니다.....
김민성
2000-08-02
1568
2980┕># -&gt; 여기는 DB 게시판입니다 게시물 옮겨주세요
문태준
2000-08-02 10:44:45
1439
2974php와 아파치와 mysql 에 관한 질문 입니다....
김민성
2000-08-02
1478
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다