当前位置: 首页 > 图文教程 > 网络编程 > PHP > 图片存储与浏览一例(Linux+Apache+PHP+MySQL)

PHP
工作笔记:配置MySQL为高可用集群 (1)
MySQL (C API)VC实例及代码下载 (1)(5)
MySQL (C API)VC实例及代码下载 (1)(4)
MySQL (C API)VC实例及代码下载 (1)(3)
MySQL (C API)VC实例及代码下载 (1)(2)
MySQL (C API)VC实例及代码下载 (1)
用JSP连接mysql数据库的方法 (1)(2)
用JSP连接mysql数据库的方法 (1)
MySQL数据库账户授权的相关管理解析 (1)(2)
MySQL数据库账户授权的相关管理解析 (1)
SAP MaxDB MySQL修补数据库严重漏洞
MySQL研发中心成立发布会会后访问整理 (1)(2)
MySQL研发中心成立发布会会后访问整理 (1)
MySQL中SQL-TEXT、DATE和SET数据类型
MySQL存在权限提升及安全限制绕过漏洞
MySQL 卸载的问题
windows下安装、卸载mysql服务
如何正确卸载MySQL
MySQL手册版本 5.0.20-MySQL优化(四) (1)(5)
MySQL手册版本 5.0.20-MySQL优化(四) (1)(4)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 109 ::
收藏到网摘: n/a

注意本程序使用的表结构为:
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;
}
?>