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 相关文章推荐
php预定义常量
Dec 25 PHP
php curl post 时出现的问题解决
Jan 30 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
May 12 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
yii用户注册表单验证实例
Dec 26 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
php实现文章评论系统
Feb 18 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP实现递归的三种方法
Jul 04 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生成随机密码的几种方法
2011/01/17 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
2016/11/01 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
跟老齐学Python之折腾一下目录
2014/10/24 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
python excel转换csv代码实例
2019/08/26 Python
Python PIL库图片灰化处理
2020/04/07 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
python绘制汉诺塔
2021/03/01 Python
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
办公室文员工作自我评价
2013/12/01 职场文书
教师职称自我鉴定
2014/02/12 职场文书
网站美工岗位职责
2014/04/02 职场文书
协议书的格式
2014/04/23 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
保护地球的宣传语
2015/07/13 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python