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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
php adodb连接带密码access数据库实例,测试成功
May 14 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
destoon之一键登录设置
Jun 21 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
CI框架给视图添加动态数据
Dec 01 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 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动态生成javascript文件的2个例子
2014/04/11 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
扩展String功能方法
2006/09/22 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
清空元素html(&quot;&quot;) innerHTML=&quot;&quot; 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
python如何查看微信消息撤回
2018/11/27 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
python如何运行js语句
2020/09/09 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
医院领导班子整改方案
2014/10/01 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
简述Java中throw-throws异常抛出
2021/08/07 Java/Android
nginx常用配置conf的示例代码详解
2022/03/21 Servers
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技