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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
利用递归把多维数组转为一维数组的函数
Oct 09 PHP
php 多个submit提交表单 处理方法
Jul 07 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
php绘制一个扇形的方法
Jan 24 PHP
php基本函数汇总
Jul 09 PHP
yii添删改查实例
Nov 16 PHP
php简单统计在线人数的方法
May 10 PHP
PHP的消息通信机制测试实例
Nov 10 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 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
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
JS交换变量的方法
2015/01/21 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
如何写python的配置文件
2020/06/07 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
英语专业学子个人的自我评价
2013/10/02 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
mysql如何能有效防止删库跑路
2021/10/05 MySQL
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技