재익님 글을 보고 공개를합니다. 도움이 되었으면..
그냥 단순히 업로드하고 볼 수 있는 프로그램입니다.
직접 고치셔서 더 멋지게 만들어 보세요~~
기본 소스는 업로드 소스와 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;
?>
|