|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
基础这个东西是个比较笼统的概念,如果你之前学习过c语言, c语言被认为是mysql|法式|数据 PHP代码:--------------------------------------------------------------------------------
<?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("文件上传掉败!");
}
$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 "<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";
$link = 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='#' ";
$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; # 输入文件
}
}
?>
我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单。 |
|