图片存储与浏览一例(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 相关文章推荐
多重?l件?合查?(二)
Oct 09 PHP
ASP和PHP都是可以删除自身的
Apr 09 PHP
php magic_quotes_gpc的一点认识与分析
Aug 18 PHP
php 禁止页面缓存输出
Jan 07 PHP
php模板中出现空行解决方法
Mar 08 PHP
php实现用户在线时间统计详解
Oct 08 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
利用Laravel生成Gravatar头像地址的优雅方法
Dec 30 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错误信息方法的详解
2013/06/09 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
jQuery选择器之层次选择器用法实例分析
2019/02/19 jQuery
解决Vue动态加载本地图片问题
2019/10/09 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
python基础教程之面向对象的一些概念
2014/08/29 Python
遗传算法之Python实现代码
2017/10/10 Python
python实现Floyd算法
2018/01/03 Python
Python 创建空的list,以及append用法讲解
2018/05/04 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
Python3 元组tuple入门基础
2020/02/09 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
Python API len函数操作过程解析
2020/03/05 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
eBay美国官网:eBay.com
2020/10/24 全球购物
数据库连接池的工作原理
2012/09/26 面试题
学习十八大精神心得体会
2013/12/31 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
关爱残疾人标语
2014/06/25 职场文书
2016年寒假见闻
2015/10/10 职场文书
初中生物教学反思
2016/02/20 职场文书
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python