动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

 任何数据存入mysql,及从中提取的程序

作者来源: 
阅读 1251 人次 , 2006-3-29 4:11:00 


<?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'];
?>
<html>
<head>
<title>将文件存入数据库</title>

<style>
caption { background-color: #e6f4ff; font-size:14px}
td { background-color: #e6f4ff; font-size:12px}
th { background-color: #ffcc00; font-size:12px}
div {font-size:12px}
</style>
</head>
<body>
<form enctype='multipart/form-data' method='post'>
<table cellspacing=1 cellpadding=5 >
<caption>文件存入数据库管理器</caption>
<input type='hidden' name='max_file_size' value=10489760>
<tr>
<td>上传文件:</td>
<td><input type='file' name='userfile'></td>
</tr>
<tr valign=top>
<td>文件说明:</td>
<td><textarea name='description' rows='4' cols='40'></textarea></td>
</tr>
<tr>
<td colspan=2 align=center><input type='submit' name='submit' value=' 上传 '>
</tr>
</table>
</form>
<?php
if (isset($_post["submit"])) // 表单被提交后执行以下代码
{
if (!is_uploaded_file($_files['userfile']['tmp_name'])) // 检查文件是否上传成功
{
die("文件上传失败!");
}
上一篇      目录      下一篇 = 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 "<div id='info'>保存成功!<br>\n";
echo "文件名 :{$_files['userfile']['name']}<br>\n";
echo "文件大小:{$_files['userfile']['size']} 字节<br>\n";
echo "文件类型:{$_files['userfile']['type']}</div>\n";
echo "<input type=\"submit\" value=刷新 onclick=\"window.location='$php_self'\">";
}
echo "
<table border=2 bordercolor=#055aa0 cellspacing=0 width=840 cellpadding=0 style=\"border-collapse: collapse ;left: 0px; word-wrap: break-word; word-break:break-all\" >
<tr>
<th width=>id</th>
<th>文件名</th>
<th>文件大小</th>
<th>文件类型</th>
<th>说明</th>
<th>连接</th>
<th>删除</th>
</tr>\n";
上一篇      目录      下一篇 = mysql_connect($db_server, $db_user, $db_pass) // 显示数据库已有记录
or die("连接数据库失败!");
mysql_select_db($db_name);
$query_string = "select * from $table_name order by id"; # 取出所有记录,无分页显示功能
$result = mysql_query($query_string) or die("查询出错!");
while ($row = mysql_fetch_array($result))
{
$remark = nl2br(htmlspecialchars($row["remark"])); # 为了正确显示说明,需要作预处理
echo "<tr>
<td>$row[id]</td>
<td>$row[filename]</td>
<td align=right>$row[filesize]</td>
<td>$row[filetype]</td>
<td>$remark</td>
<td nowrap><a href='$handler_script?action=show&id=$row[id]' target=_blank>点击查看</td>
<td nowrap><a href='#' onclick='window.open(\"$handler_script?action=del&id=$row[id]\");location.href=\"$_server[php_self]\";'>点击删除</td>
</tr>\n";
}
echo "</table>\n";

?>
</body>
</html>



<?php
// 文件名:filehandle.php 用来显示文件或删除记录
// 系统参数变量
$db_server = "127.0.0.1"; # 数据库连接字
$db_user = "root"; # 用户名
$db_pass = ""; # 密码
$db_name = "article"; # 数据库名
$table_name = "files"; # 数据表名

if (!empty($_get["action"])) // 判断页面合法性
{
if ($_get["action"] == "show") // 页面功能为显示文件
{
if (!empty($_get["id"])) // 取得 id 号
$id = $_get["id"];
else
$id = 1; # 如果 id 为空则定义为 1
上一篇      目录      下一篇 = mysql_connect($db_server, $db_user, $db_pass)
or die("连接数据库失败!");
mysql_select_db("$db_name");
// 从数据库中取出文件名,文件类型以及文件本身
$query_string = "select filename, filetype, filecontent from $table_name where id = '$id'";
$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; # 输出文件
}
}

?>

 本文Tagsmysql  数据库  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:一个手机开发的例子
· 下一篇:高亮度显示PHP源代码
· 聊天室技术(八)-- 密谈的实现
· 十天学会php之第二天
· PHP文本数据库的搜索方法
· 一个简单的IMAP类和应用
· 网站加速PHP缓冲的免费实现方法


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077