图片存储与浏览一例(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 相关文章推荐
如何提高MYSQL数据库的查询统计速度 select 索引应用
Apr 11 PHP
mysql limit查询优化分析
Nov 12 PHP
PHP XML数据解析代码
May 26 PHP
php下安装配置fckeditor编辑器的方法
Mar 02 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 PHP
php实现多站点共用session实现单点登录的方法详解
Sep 18 PHP
在 Laravel 6 中缓存数据库查询结果的方法
Dec 11 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 生成饼图 三维饼图
2009/09/28 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
JavaScript类型转换方法及需要注意的问题小结(挺全面)
2010/11/11 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
jquery.pagination.js分页使用教程
2018/10/23 jQuery
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
vue.js循环radio的实例
2019/11/07 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python的Urllib库的基本使用教程
2015/04/30 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
对python模块中多个类的用法详解
2019/01/10 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
Python列表(List)知识点总结
2019/02/18 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
python线性插值解析
2020/07/05 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
办公室主任岗位职责
2013/11/08 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书