图片存储与浏览一例(Linux+Apache+PHP+MySQL)
author:一佰互联 2019-05-01 click:186
注意本程序使用的表结构为: use test; create table image( id int unsigned auto_increment primary key, description text, filename varchar(50), filesize int, filetype varchar(50), filedata longblob ); */ //?cmd={read|list|form|store} //检查cmd参数的合法性 switch($cmd){ case "read": break; case "list": break; case "form": break; Case "store": break; default: $cmd = "list"; break; } switch($cmd){ case "read": //?cmd=read&id={} //读一个图片 $server = mysql_connect("localhost","test","") or die("无法连接数据库服务器"); mysql_select_db("test",$server) or die("无法连接数据库"); $sql = "select filetype,filedata from image where id="$id""; $rst = mysql_query($sql,$server) or die("$sql查询出错"); if($row=mysql_fetch_row($rst)){ header("Content-Type:" . $row[0]); echo $row[1]; } else{ echo "没有找到该记录"; } mysql_free_result($rst); mysql_close($server) or die("无法与数据库服务器断开连接"); break; case "list": //?cmd=list //显示所有图片 echo "<html>"; echo "<head><title>图片存储与浏览一例</title></head>"; echo "<body>"; echo "<a href="" . $PHP_SELF . "?cmd=list">显示所有图片</a>"; echo " "; echo "<a href="" . $PHP_SELF . "?cmd=form">上传图片</a>"; $server = mysql_connect("localhost","test","") or die("无法连接数据库服务器"); mysql_select_db("test",$server) or die("无法连接数据库"); $sql = "select id,description,filename,filetype,filesize from image"; $rst = mysql_query($sql,$server) or die("$sql查询出错"); while($row=mysql_fetch_row($rst)){ echo "<hr>"; echo "描述:" . $row[1] . "<br>"; echo "文件名:" . $row[2] . "<br>"; echo "类型:" . $row[3] . "<br>"; echo "大小:" . $row[4] . "<br>"; echo "<img src="" . $PHP_SELF . "?cmd=read&id=" . $row[0] . "">"; } mysql_free_result($rst); mysql_close($server) or die("无法与数据库服务器断开连接"); echo "</body>"; echo "</html>"; break; case "form": ?> <html> <head><title>图片存储与浏览一例</title></head> <body> <form action="<?echo $PHP_SELF;?>?cmd=store" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="2097152"> 描述:<br> <textarea name="description" rows="5" cols="100"></textarea><br> 文件:<input type="file" name="file"><br> <input type="submit" value="上传"> </form> </body> </html> <? break; case "store": //?cmd=store&description={}&file={}&file_size={}&file_type={}&file_name={} //存储图片 echo "<html>"; echo "<head><title>图片存储与浏览一例</title></head>"; echo "<body>"; echo "<a href="" . $PHP_SELF . "?cmd=list">显示所有图片</a>"; echo " "; echo "<a href="" . $PHP_SELF . "?cmd=form">上传图片</a>"; $server = mysql_connect("localhost","test","") or die("无法连接数据库服务器"); mysql_select_db("test",$server) or die("无法连接数据库"); $data = addslashes(fread(fopen($file,"r"),filesize($file))); $sql = "insert into image(description,filename,filetype,filesize,filedata) values("$description","" . basename($file_name) . "","$file_type",$file_size,"$data")"; mysql_query($sql,$server) or die("$sql执行出错"); $id = mysql_insert_id(); echo "<hr>你上传的图片效果:<br>"; echo "<img src="" . $PHP_SELF . "?cmd=read&id=" . $id . "">"; mysql_close($server) or die("无法与数据库服务器断开连接"); echo "</body>"; echo "</html>"; break; } ?>