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


Posted in PHP onOctober 09, 2006

注意本程序使用的表结构为:
    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 相关文章推荐
献给php初学者(入门学习经验谈)
Oct 12 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
使用HMAC-SHA1签名方法详解
Jun 26 PHP
PHP异常处理浅析
May 12 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
简单的自定义php模板引擎
Aug 26 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
PHP+javascript液晶时钟
Oct 09 #PHP
一个分页的论坛
Oct 09 #PHP
一个简易需要注册的留言版程序
Oct 09 #PHP
使用数据库保存session的方法
Oct 09 #PHP
COM in PHP (winows only)
Oct 09 #PHP
Banner程序
Oct 09 #PHP
下载文件的点击数回填
Oct 09 #PHP
You might like
php下实现折线图效果的代码
2007/04/28 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
PHP反射学习入门示例
2019/06/14 PHP
php curl发送请求实例方法
2019/08/01 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
JS IE和FF兼容性问题汇总
2009/02/09 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
javascript折半查找详解
2015/01/26 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
Javascript验证方法大全
2015/09/21 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
python 简单的多线程链接实现代码
2016/08/28 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
Python的多维空数组赋值方法
2018/04/13 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
python制作简单五子棋游戏
2019/06/18 Python
python日期相关操作实例小结
2019/06/24 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
物流专业毕业生推荐信范文
2013/11/18 职场文书
创业计划书——互联网商机
2014/01/12 职场文书
迎新生标语大全
2014/10/06 职场文书
工作表现证明
2015/06/15 职场文书
公司新员工欢迎词
2015/09/30 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS