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

注意本程序使用的表结构为: 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
‘headtitle图片存储与浏览一例/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 headtitle图片存储与浏览一例/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/textareabr 文件:input type=file name=filebr input type=submit
value=上传 /form /body /html ? break; case ‘store’:
//?cmd=store&description={}&file={}&file_size={}&file_type={}&file_name={}
//存储图片 echo ‘html’; echo ‘headtitle图片存储与浏览一例/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; } ?

发表评论

电子邮件地址不会被公开。 必填项已用*标注