[精]任何数据存入mysql,及从中提取的程序
mysql|程序|数据
PHP代码:--------------------------------------------------------------------------------
// 文件名:filedb.php 将文件储存到数据库中
/*
将文件上传存入 MySQL 数据库的例子
数据表的结构如下:
CREATE TABLE files (
id int(4) NOT NULL auto_increment,
filename varchar(64),
filesize int(16),
filetype varchar(64),
filecontent longblob,
remark text,
PRIMARY KEY (id)
);
*/
// 设定系统参数变量,根据需要修改
$DB_SERVER = "127.0.0.1"; # 数据库连接字
$DB_USER = "root"; # 用户名
$DB_PASS = ""; # 密码
$DB_NAME = "article"; # 数据库名
$TABLE_NAME = "files"; # 数据表名
$HANDLER_SCRIPT = "mysql数据库显示文件.php"; # 处理数据的脚本文件名
$PHP_SELF=$_SERVER['PHP_SELF'];
?>
if (isset($_POST["submit"])) // 表单被提交后执行以下代码
{
if (!is_uploaded_file($_FILES['userfile']['tmp_name'])) // 检查文件是否上传成功
{
die("文件上传失败!");
}
$link = mysql_connect($DB_SERVER, $DB_USER, $DB_PASS) // 连接数据库
or die("连接数据库失败!");
mysql_select_db($DB_NAME);
$filename = addslashes($_FILES['userfile']['name']); # 为了正确保存入数据库,
$filesize = addslashes($_FILES['userfile']['size']); # 对所有的插入数据都要
$filetype = addslashes($_FILES['userfile']['type']); # 进行 addslashes 操作
// 读入上传的文件并做预处理 #
$tmp_name = $_FILES['userfile']['tmp_name'];
$fd = fopen ($tmp_name, "rb");
$contents = fread ($fd, filesize ($tmp_name));
fclose ($fd);
$filecontent = addslashes($contents);
$tmp_name = $_FILES['userfile']['tmp_name'];
$fd = fopen ($tmp_name, "rb");
$contents = fread ($fd, filesize ($tmp_name));
fclose ($fd);
$filecontent = addslashes($contents);
$remark = addslashes($_POST['description']);
$query_string = "INSERT INTO $TABLE_NAME VALUES ('', '$filename', '$filesize', '$filetype', '$filecontent', '$remark')";
$result = mysql_query($query_string) or die("数据插入失败!"); # 进行数据插入操作
echo "
\n";
echo "文件名 :{$_FILES['userfile']['name']}
\n";
echo "文件大小:{$_FILES['userfile']['size']} 字节
\n";
echo "文件类型:{$_FILES['userfile']['type']}
echo "";
}
echo "
ID | 文件名 | 文件大小 | 文件类型 | 说明 | 连接 | 删除 |
---|---|---|---|---|---|---|
$row[id] | $row[filename] | $row[filesize] | $row[filetype] | $remark | 点击查看 |
$result = mysql_query($query_string) or die("查询出错!"); if (mysql_num_rows($result) == 0) // 判断查询是否成功 die("查无记录!"); $row = mysql_fetch_array($result); # 取得查询结果 $filecontent = $row["filecontent"]; # 取得文件内容 $filetype = $row["filetype"]; # 取得文件类型 $filename = $row["filename"]; # 取得文件名 header("Content-Type: $filetype"); # 输出 HTTP 头信息,文件的 MIME 类型 header("Content-Disposition: inline; filename=\"$filename\""); # 这样可以给出文件# header("Content-Disposition: attachment; filename=\"$filename\""); # 这样可以迫使 IE 下载文件而不显示 echo $filecontent; # 输出文件 } } ?>
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。 相关文章 相关视频
专题推荐
|
上一篇: SQLAlchemy增删改查
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论