注重本程序使用的表结构为:
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%26amp;id={}
//读一个图片
$server = mysql_connect(%26quot;localhost%26quot;,%26quot;test%26quot;,%26quot;%26quot;) or die(%26quot;无法连接数据库服务器%26quot;);
mysql_select_db(%26quot;test%26quot;,$server) or die(%26quot;无法连接数据库%26quot;);
$sql = %26quot;select filetype,filedata from image where id='$id'%26quot;;
$rst = mysql_query($sql,$server) or die(%26quot;$sql查询出错%26quot;);
if($row=mysql_fetch_row($rst)){
header(%26quot;Content-Type:%26quot; . $row[0]);
echo $row[1];
}
else{
echo %26quot;没有找到该记录%26quot;;
}
mysql_free_result($rst);
mysql_close($server) or die(%26quot;无法与数据库服务器断开连接%26quot;);
break;
case 'list':
//?cmd=list
//显示所有图片
echo '%26lt;html%26gt;';
echo '%26lt;head%26gt;%26lt;title%26gt;图片存储与浏览一例%26lt;/title%26gt;%26lt;/head%26gt;';
echo '%26lt;body%26gt;';
echo '%26lt;a href=%26quot;' . $PHP_SELF . '?cmd=list%26quot;%26gt;显示所有图片%26lt;/a%26gt;';
echo %26quot;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26quot;;
echo '%26lt;a href=%26quot;' . $PHP_SELF . '?cmd=form%26quot;%26gt;上传图片%26lt;/a%26gt;';
$server = mysql_connect(%26quot;localhost%26quot;,%26quot;test%26quot;,%26quot;%26quot;) or die(%26quot;无法连接数据库服务器%26quot;);
mysql_select_db(%26quot;test%26quot;,$server) or die(%26quot;无法连接数据库%26quot;);
$sql = %26quot;select id,description,filename,filetype,filesize from image%26quot;;
$rst = mysql_query($sql,$server) or die(%26quot;$sql查询出错%26quot;);
while($row=mysql_fetch_row($rst)){
echo %26quot;%26lt;hr%26gt;%26quot;;
echo %26quot;描述:%26quot; . $row[1] . %26quot;%26lt;br%26gt;%26quot;;
echo %26quot;文件名:%26quot; . $row[2] . %26quot;%26lt;br%26gt;%26quot;;
echo %26quot;类型:%26quot; . $row[3] . %26quot;%26lt;br%26gt;%26quot;;
echo %26quot;大小:%26quot; . $row[4] . %26quot;%26lt;br%26gt;%26quot;;
echo '%26lt;img src=%26quot;' . $PHP_SELF . '?cmd=read%26amp;id=' . $row[0] . '%26quot;%26gt;';
}
mysql_free_result($rst);
mysql_close($server) or die(%26quot;无法与数据库服务器断开连接%26quot;);
echo '%26lt;/body%26gt;';
echo '%26lt;/html%26gt;';
break;
case 'form':
?%26gt;
%26lt;html%26gt;
%26lt;head%26gt;%26lt;title%26gt;图片存储与浏览一例%26lt;/title%26gt;%26lt;/head%26gt;
%26lt;body%26gt;
%26lt;form action=%26quot;%26lt;?echo $PHP_SELF;?%26gt;?cmd=store%26quot; method=%26quot;post%26quot; enctype=%26quot;multipart/form-data%26quot;%26gt;
%26lt;input type=%26quot;hidden%26quot; name=%26quot;MAX_FILE_SIZE%26quot; value=%26quot;2097152%26quot;%26gt;
描述:%26lt;br%26gt;
%26lt;textarea name=%26quot;description%26quot; rows=%26quot;5%26quot; cols=%26quot;100%26quot;%26gt;%26lt;/textarea%26gt;%26lt;br%26gt;
文件:%26lt;input type=%26quot;file%26quot; name=%26quot;file%26quot;%26gt;%26lt;br%26gt;
%26lt;input type=%26quot;submit%26quot; value=%26quot;上传%26quot;%26gt;
%26lt;/form%26gt;
%26lt;/body%26gt;
%26lt;/html%26gt;
%26lt;?
break;
case 'store':
//?cmd=store%26amp;description={}%26amp;file={}%26amp;file_size={}%26amp;file_type={}%26amp;file_name={}
//存储图片
echo '%26lt;html%26gt;';
echo '%26lt;head%26gt;%26lt;title%26gt;图片存储与浏览一例%26lt;/title%26gt;%26lt;/head%26gt;';
echo '%26lt;body%26gt;';
echo '%26lt;a href=%26quot;' . $PHP_SELF . '?cmd=list%26quot;%26gt;显示所有图片%26lt;/a%26gt;';
echo %26quot;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26amp;nbsp;%26quot;;
echo '%26lt;a href=%26quot;' . $PHP_SELF . '?cmd=form%26quot;%26gt;上传图片%26lt;/a%26gt;';
$server = mysql_connect(%26quot;localhost%26quot;,%26quot;test%26quot;,%26quot;%26quot;) or die(%26quot;无法连接数据库服务器%26quot;);
mysql_select_db(%26quot;test%26quot;,$server) or die(%26quot;无法连接数据库%26quot;);
$data = addslashes(fread(fopen($file,%26quot;r%26quot;),filesize($file)));
$sql = %26quot;insert into image(description,filename,filetype,filesize,filedata)
values('$description','%26quot; . basename($file_name) . %26quot;','$file_type',$file_size,'$data')%26quot;;
mysql_query($sql,$server) or die(%26quot;$sql执行出错%26quot;);
$id = mysql_insert_id();
echo %26quot;%26lt;hr%26gt;你上传的图片效果:%26lt;br%26gt;%26quot;;
echo '%26lt;img src=%26quot;' . $PHP_SELF . '?cmd=read%26amp;id=' . $id . '%26quot;%26gt;';
mysql_close($server) or die(%26quot;无法与数据库服务器断开连接%26quot;);
echo '%26lt;/body%26gt;';
echo '%26lt;/html%26gt;';
break;
}
?%26gt;
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2000-12-20 10:35:42 作者
相关文章
- · Linux的开发利器,Kylix
- · kylix开发工具铺平Linux应用之路
- · Linux上最新的Kylix截屏画面
- · Linux 操作系统下的串行口通讯编程
- · Linux 下 C++程序的异常处理技巧
- · 在linux下使用c语言操作临时文件
- · Linux上搭建C/C++IDE
- · 使用Kylix3开发Apache DSO
- · Linux下的代码淬火技术
- · 在 Linux 下用 C 编写显示时间的程序
- · 在 Linux 下建立软体套件
- · 用QTDesigner编写Linux的图形界面程序
- · The Standard C Library for Linux
- · The Standard C Library for Linux:stdlib.h
- · The Standard C Library for Linux:ctype.h
- · Linux 下面使用 mtrace 来检查一般的程序的内存溢出
- · linux内核模块和驱动程序的编写(2)
- · Linux 和 Unix 安全编程:环境变量
- · LINUX C语言开发之2
- · Linux 下的多进程编程
- · LINUX C语言开发简介
