WEB开发网
开发学院WEB开发PHP 图片存储与浏览一例(Linux+Apache+PHP+MySQL) 阅读

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

 2000-12-20 16:29:43 来源:WEB开发网   
核心提示:注意本程序使用的表结构为: use test; create table image( id int unsigned auto_increment PRimary key, description text, filename varchar(50), filesize int, filetype varc
注意本程序使用的表结构为:
  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;
}
?>

Tags:图片 存储 浏览

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接