您的位置:首页技术文章
文章详情页

图片存储与浏览一例(Linux+Apache+PHP+MySQL)

浏览:22日期:2023-12-31 18:52:46
注意本程序使用的表结构为: ;;;;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 "&nbsp;&nbsp;&nbsp;&nbsp;";;;;;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 "&nbsp;&nbsp;&nbsp;&nbsp;";;;;;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; } ?>
标签: PHP