background image

利用

php+mysql 保存和输出文件

本地文件上传到服务器后,服务器的脚本对文件进行保存,一般有两种方式,一种

是作为

 文件保存到机器的特定目录下,但是这里就有很多诸如文件重名带来的种种不便之

处,有的程

 序自动改文件名字,把名字加上上传时间等方法以保证文件名的唯一性,这样

失去了文件的原

 始名字,通过文件名查询特定的文件信息也有很多困难,不利于文件的统

一管理;一种是把文

 件保存到数据库中利用数据库的强大功能,可以方便的实现文件的各

种操作。本文采用的是第二种方法。

     

这一组程序演示了,如何将硬盘的一个文件通过网页,上传到服务器的数据库里面,

并且

 读出文件的内容。 使用说明: 一共有 5 个程序,说明如下: 

1. file.sql      --- 本程序要用到的数据库表的结构[注:数据库用的是 test] 
2. upload.php    --- 上传表单 
3. submit.php    --- 上传处理程序 
4. show_info.php --- 显示部分上传的文件信息 
5. show_add.php  --- 显示[下载]文件 

1)file.sql --- 

//简要说明 保存上传得文件的基本信息的数据库结构,此处注意保存文件内容的字段,使

longtext 类型 因为普通的 blob 类型最大存储 64K 字节。另外,一般 php 的默认配置最大

上传文件为

2M,如果上 传的文件特别大,莫忘了调整 php.ini 的设置哦。 

//文件源码 
create table receive( 
    id int NOT NULL auto_increment, #主键,自动累加 
    file_data longblob,             #文件内容 
    file_type varchar(100),         #文件类型 
    file_name varchar(255),         #文件名字  
    file_size int,                  #文件大小 
    PRIMARY KEY(id) #主键 

2)upload.php --- 

//简要说明 上传界面,用户选择文件,然后提交给 submit.php 处理 值得注意的是一个

 

MAX_FILE_SIZE 的隐藏值域,通过设置其 VALUE 可  以限制上载文件的大小。 
//程序源码 
<html>   
<head>   
<title>文件上传表单</title>   
</head>   
<body>   
<table>   
<form enctype='multipart/form-data' name='myform' action='submit.php'  
method='post'>