图片存储与浏览一例(Linux+Apache+PHP+MySQL)
所属分类:
网络编程 / PHP编程
阅读数:
1163
收藏 0赞 0分享
注意本程序使用的表结构为:
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;
}
?>
PHP利用Mysql锁解决高并发的方法
这篇文章主要介绍了PHP利用Mysql锁解决高并发的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0赞 0分享
php 后端实现JWT认证方法示例
这篇文章主要介绍了php 后端实现JWT认证方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0赞 0分享
PHP命名空间与自动加载类详解
这篇文章主要介绍了PHP命名空间与自动加载类,结合实例形式详细分析了php自动加载类与命名空间原理、使用方法及相关操作注意事项,需要的朋友可以参考下
收藏 0赞 0分享
PHP时间处理类操作示例
这篇文章主要介绍了PHP时间处理类,结合实例形式分析了DateTime、DateTimeZone、DateInterval及DatePeriod等常用日期时间处理类简单操作技巧,需要的朋友可以参考下
收藏 0赞 0分享
利用PHP扩展Xhprof分析项目性能实践教程
XHProf是Facebook开发的性能调试工具,能帮助直观的统计显示PHP程序执行中各方法函数调用次数和消耗时间,以方便我们排查性能瓶颈并进行调优。下面这篇文章主要给大家介绍了关于利用PHP扩展Xhprof分析项目性能实践的相关资料,需要的朋友可以参考下
收藏 0赞 0分享
PHP使用pdo实现事务处理操作示例
这篇文章主要介绍了PHP使用pdo实现事务处理操作,结合实例形式较为详细的分析了php基于pdo实现事务处理的相关原理与操作技巧,需要的朋友可以参考下
收藏 0赞 0分享
查看更多