PHP实现上传文件并存进数据库的方法


Posted in PHP onJuly 16, 2015

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

show_add.php文件如下:

<?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文件如下:

<?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 "<hr>上传的文件的信息:";
  echo "<br>The file's name - $name";  
  echo "<br>The file's size - $size"; 
  echo "<br><a href=show_add.php?id=$id>附件</a>";
?>

submit.php文件如下:

<?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 "<a href='show_info.php?id=$id'>显示上传文件信息</a>";
  }  
  else {  
    echo "你没有上传任何文件";  
  }  
?>

upload.php文件如下:



<html>  
<head>  
<title>文件上传表单</title>  
</head>  
<body>  
<table>  
<form enctype='multipart/form-data' name='myform' action='submit.php' 
method='post'>  
<INPUT TYPE = "hidden" NAME = "MAX_FILE_SIZE" VALUE ="1000000">
<tr><td>选择上传文件</td><td>
<input name='myfile' type='file'></td></tr> 
<tr><td colspan='2'><input name='submit' value='上传'  type='submit'></td></tr>  
</table>  
</body>  
</html>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
windows xp下安装pear
Dec 02 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
浅谈PHP 闭包特性在实际应用中的问题
Oct 30 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 PHP
PHP实现简单计算器小程序
Aug 28 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 #PHP
php项目中百度 UEditor 简单安装调试和调用
Jul 15 #PHP
PHP开发Apache服务器配置
Jul 15 #PHP
ajax+php控制所有后台函数调用
Jul 15 #PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 #PHP
php实现网页缓存的工具类分享
Jul 14 #PHP
浅谈php错误提示及查错方法
Jul 14 #PHP
You might like
十天学会php(1)
2006/10/09 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
JS版网站风格切换实例代码
2008/10/06 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
Vue.js实现的表格增加删除demo示例
2018/05/22 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
利用Python脚本实现ping百度和google的方法
2017/01/24 Python
python WindowsError的错误代码详解
2017/07/23 Python
python使用多进程的实例详解
2018/09/19 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
python实现简单颜色识别程序
2020/02/19 Python
Python实现对adb命令封装
2020/03/06 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
python 实现有道翻译功能
2021/02/26 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
文秘专业应届生求职信范文
2013/11/14 职场文书
旅游管理毕业生自荐书
2014/02/02 职场文书
小学端午节活动方案
2014/03/13 职场文书
委托书怎么写
2014/07/31 职场文书
证婚人致辞精选
2015/07/28 职场文书