php上传文件到数据库并处理,PHP实现上传文件并存进数据库的方法

本文介绍了如何使用PHP将文件上传到服务器并将其元数据存储到MySQL数据库中,包括show_add.php、show_info.php和submit.php文件的详细步骤。涉及上传验证、数据库操作和文件处理技术。
摘要由CSDN通过智能技术生成

本文实例讲述了PHP实现上传文件并存进数据库的方法。分享给大家供大家参考。具体如下:

show_add.php文件如下:

if(!isset($_REQUEST[''id'']) or $_REQUEST[''id'']=="") die("error: id none");

$id = $_REQUEST[''id''];

//定位记录,读出

$conn=mysql_connect("localhost","root","admin");

if(!$conn) die("error: mysql connect failed");

mysql_select_db("nokiapaymentplat",$conn);

$sql = "select * from receive where id=$id";

$result = mysql_query($sql,$conn);

if(!$result) die("error: mysql query");

$num=mysql_num_rows($result);

if($num<1) die("error: no this recorder");

$data = mysql_result($result,0,"file_data");

$type = mysql_result($result,0,"file_type");

$name = mysql_result($result,0,"file_name");

mysql_close($conn);

//先输出相应的文件头,并且恢复原来的文件名

header("Content-type:$type");

header("Content-Disposition: attachment; filename=$name");

echo $data;

?>

show_info.php文件如下:

if(!isset($_REQUEST[''id'']) or $_REQUEST[''id'']=="") die("error: id none");

$id = $_REQUEST[''id''];

//定位记录,读出

$conn=mysql_connect("localhost","root","admin");

if(!$conn) die("error: mysql connect failed");

mysql_select_db("nokiapaymentplat",$conn);

$sql = "select file_name ,file_size from receive where id=$id";

$result = mysql_query($sql,$conn);

if(!$result) die(" error: mysql query");

//如果没有指定的记录,则报错

$num=mysql_num_rows($result);

if($num<1) die("error: no this recorder");

//下面两句程序也可以这么写

//$row=mysql_fetch_object($result);

//$name=$row->name;

//$size=$row->size;

$name = mysql_result($result,0,"file_name");

$size = mysql_result($result,0,"file_size");

mysql_close($conn);

echo "


上传的文件的信息:";

echo "
The file''s name - $name";

echo "
The file''s size - $size";

echo "附件";

?>

submit.php文件如下:

if(is_uploaded_file($_FILES[''myfile''][''tmp_name''])) {

//有了上传文件了

$myfile=$_FILES["myfile"];

//设置超时限制时间,缺省时间为 30秒,设置为0时为不限时

$time_limit=60;

set_time_limit($time_limit); //

//把文件内容读到字符串中

$fp=fopen($myfile[''tmp_name''], "rb");

if(!$fp) die("file open error");

$file_data = addslashes(fread($fp, filesize($myfile[''tmp_name''])));

fclose($fp);

unlink($myfile[''tmp_name'']);

//文件格式,名字,大小

$file_type=$myfile["type"];

$file_name=$myfile["name"];

$file_size=$myfile["size"];

die($file_type);

//连接数据库,把文件存到数据库中

$conn=mysql_connect("localhost","root","admin");

if(!$conn) die("error : mysql connect failed");

mysql_select_db("nokiapaymentplat",$conn);

$sql="insert into receive

(file_data,file_type,file_name,file_size)

values (''$file_data'',''$file_type'',''$file_name'',$file_size)";

$result=mysql_query($sql,$conn);

//下面这句取出了刚才的insert语句的id

$id=mysql_insert_id();

mysql_close($conn);

set_time_limit(30); //恢复缺省超时设置

echo "上传成功--- ";

echo "显示上传文件信息";

}

else {

echo "你没有上传任何文件";

}

?>

upload.php文件如下:

文件上传表单

method=''post''>

选择上传文件

转载自:http://aspnetjia.com

三种上传文件不刷新页面的方法讨论:iframe&sol;FormData&sol;FileReader

发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"up ...

ASP&period;NET上传文件的三种基本方法

ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关 ...

使用ASP&period;NET 上传文件 三种类型判断方法&lpar;后缀&comma;MIME&comma;数据流&rpar;

#region 一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. Boolean fileOk = false; s ...

ASP&period;net 判断上传文件类型的三种方法

一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. Boolean fileOk = false; string pa ...

用ASP&period;net判断上传文件类型的三种方法

一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. Boolean fileOk = false;           ...

Linux下开发python django程序&lpar;设置admin后台管理上传文件和前台上传文件保存数据库&rpar;

1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model) ...

Socket实例之客户端向服务端数据库上传文件UI版

http://blog.csdn.net/su20145104009/article/details/52843735 首先实现分析: 1用户注册 客户单选择‘用户注册’,提示要输入用户名,密码,确认 ...

Web上传文件

客户端      相对于FTP文件上传,Web文件上传速度慢一些,但使用方便,不需要客户端,而且权限比FTP容易控制. Web文件上传采用POST方式,上传文件需要设置FORM的entype属性为 ...

Web上传文件的三种解决方案

第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname =  ...

随机推荐

聊天室(Java实现)

功能: 登录 若用户账号不存在,弹出错误 若用户密码错误,弹出错误 若用户账号已在线,弹出错误 注册 若用户已注册,弹出错误 聊天室 多人聊天,类似QQ里的群. 点击右侧的在线用户,可进行一对一聊天. ...

Eclipse 安装需要的 JDK 版本简要说明

Eclipse 4.6 (Neon) Eclipse 4.6 (Neon)is scheduled for release on June 22, 2016. Consider using the I ...

DBA-mysql-init-password-5&period;7

1.Mysql5.7 Password; 查找临时密码:grep "A temporary password"  /var/log/mysqld.log 修改临时密码:alter ...

【BZOJ】【1965】SHUFFLE 洗牌

扩展欧几里德+快速幂 每次转换位置:第x位的转移到2*x %(n+1)这个位置上 那么m次后就到了(2^m)*x %(n+1)这个位置上 那么找洗牌m次后在 l 位置上的牌就相当于解线性模方程: (2 ...

【activity任务栈】浅析

背景知识 Activity四种启动模式 标准模式 standard 栈顶复用模式 singleTop 栈内复用模式 singleTask 单例模式 singleInstance 任务栈 Activit ...

openwrt添加自动启动项

在/etc/init.d下添加文件my-plugin #!/bin/sh /etc/rc.common # /etc/init.d/my-plugin start() { sh /root/useri ...

Mysql环境搭建&lpar;及中文乱码解决&rpar;

卸载MySQL 电脑已经安装过mysql的 卸载电脑上的mysql方法: 我的电脑-->右键-->属性-->高级系统设置-->环境变量-->系统变量里面-->找到环 ...

pdf&period;js显示合同签名问题

需求 pdf页面显示在ios11以下的环境,合同的签名印章或签字会显示不出 解决方案(初步处理参考下文引用,这里是后续具体做法) 现在通过使用pdf.js插件,参考下文,引入自己的代码 我把gener ...

vue2&period;0路由

现在用vue-cli搭建的环境里面vue-router是下载好的 vue2.0路由方式和以前也有些不同 没了了map和start方法 目录结构如上图 这里有三个文件,app.vue显示,main.js ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值