图片存储与浏览一例(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的bbs设计(一)
Oct 09 PHP
Smarty安装配置方法
Apr 10 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
php三维数组去重(示例代码)
Nov 26 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
Zend Framework开发入门经典教程
Mar 23 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
Oct 24 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
PHP实现简单注册登录系统
Dec 28 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+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
如何在python中执行另一个py文件
2020/04/30 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
澳大利亚商务邀请函
2014/01/17 职场文书
党员入党表决心的话
2014/03/11 职场文书
企业年会主持词
2014/03/27 职场文书
党员一句话承诺大全
2014/03/28 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
给朋友的道歉短信
2015/05/12 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书