当前位置:首页 > PHP教程 > php上传下载 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-12 20:37:46 浏览: 评论:0 

这篇文章主要介绍了PHP实现上传文件并存进数据库的方法,涉及php文件上传所涉及的文件与表单操作及数据库操作相关技巧,非常具有实用价值,需要的朋友可以参考下

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

show_add.php文件如下:

  1. <?php      
  2.   if(!isset($_REQUEST['id']) or $_REQUEST['id']==""die("error: id none"); 
  3.   $id = $_REQUEST['id']; 
  4.   //定位记录,读出 
  5.   $conn=mysql_connect("localhost","root","admin"); 
  6.   if(!$conndie("error: mysql connect failed"); 
  7.   mysql_select_db("nokiapaymentplat",$conn); 
  8.   $sql = "select * from receive where id=$id"
  9.   $result = mysql_query($sql,$conn); 
  10.   if(!$resultdie("error: mysql query"); 
  11.   $num=mysql_num_rows($result); 
  12.   if($num<1) die("error: no this recorder"); 
  13.   $data = mysql_result($result,0,"file_data"); 
  14.   $type = mysql_result($result,0,"file_type"); 
  15.   $name = mysql_result($result,0,"file_name"); 
  16.   mysql_close($conn); 
  17.   //先输出相应的文件头,并且恢复原来的文件名 
  18.   header("Content-type:$type"); 
  19.   header("Content-Disposition: attachment; filename=$name"); 
  20.   echo $data
  21. ?> 

show_info.php文件如下:

  1. <?php  
  2.    if(!isset($_REQUEST['id']) or $_REQUEST['id']==""die("error: id none"); 
  3.   $id = $_REQUEST['id']; 
  4.   //定位记录,读出 
  5.   $conn=mysql_connect("localhost","root","admin"); 
  6.   if(!$conndie("error: mysql connect failed"); 
  7.   mysql_select_db("nokiapaymentplat",$conn); 
  8.   $sql = "select file_name ,file_size from receive where id=$id"
  9.   $result = mysql_query($sql,$conn); 
  10.   if(!$resultdie(" error: mysql query"); 
  11.   //如果没有指定的记录,则报错 
  12.   $num=mysql_num_rows($result); 
  13.   if($num<1) die("error: no this recorder"); 
  14.   //下面两句程序也可以这么写 
  15.   //$row=mysql_fetch_object($result); 
  16.   //$name=$row->name; 
  17.   //$size=$row->size; 
  18.   $name = mysql_result($result,0,"file_name"); 
  19.   $size = mysql_result($result,0,"file_size"); 
  20.   mysql_close($conn); 
  21.   echo "<hr>上传的文件的信息:"
  22.   echo "<br>The file's name - $name";   
  23.   echo "<br>The file's size - $size";  
  24.   echo "<br><a href=show_add.php?id=$id>附件</a>"
  25. ?> 

submit.php文件如下:

  1. <?php   
  2.   if(is_uploaded_file($_FILES['myfile']['tmp_name'])) { 
  3.   //有了上传文件了  
  4.   $myfile=$_FILES["myfile"]; 
  5.     //设置超时限制时间,缺省时间为 30秒,设置为0时为不限时 
  6.     $time_limit=60;      
  7.     set_time_limit($time_limit); // 
  8.     //把文件内容读到字符串中 
  9.     $fp=fopen($myfile['tmp_name'], "rb"); 
  10.     if(!$fpdie("file open error"); 
  11.     $file_data = addslashes(fread($fpfilesize($myfile['tmp_name']))); 
  12.     fclose($fp); 
  13.     unlink($myfile['tmp_name']);  
  14.     //文件格式,名字,大小 
  15.     $file_type=$myfile["type"]; 
  16.     $file_name=$myfile["name"]; 
  17.     $file_size=$myfile["size"]; 
  18.     die($file_type); 
  19.     //连接数据库,把文件存到数据库中 
  20.     $conn=mysql_connect("localhost","root","admin"); 
  21.     if(!$conndie("error : mysql connect failed"); 
  22.     mysql_select_db("nokiapaymentplat",$conn); 
  23.     $sql="insert into receive  
  24.     (file_data,file_type,file_name,file_size)  
  25.     values ('$file_data','$file_type','$file_name',$file_size)"; 
  26.     $result=mysql_query($sql,$conn); 
  27.     //下面这句取出了刚才的insert语句的id 
  28.     $id=mysql_insert_id(); 
  29.     mysql_close($conn); 
  30.     set_time_limit(30); //恢复缺省超时设置  
  31.     echo "上传成功--- "
  32.     echo "<a href='show_info.php?id=$id'>显示上传文件信息</a>"
  33.   }   
  34.   else {   
  35.     echo "你没有上传任何文件";   
  36.   }   
  37. ?> 

upload.php文件如下:

  1. <html>   
  2. <head>   
  3. <title>文件上传表单</title>   
  4. </head>   
  5. <body>   
  6. <table>   
  7. <form enctype='multipart/form-data' name='myform' action='submit.php' 
  8. method='post'>   
  9. <INPUT TYPE = "hidden" NAME = "MAX_FILE_SIZE" VALUE ="1000000"
  10. <tr><td>选择上传文件</td><td> 
  11. <input name='myfile' type='file'></td></tr>  
  12. <tr><td colspan='2'><input name='submit' value='上传'  type='submit'></td></tr>   
  13. </table>   
  14. </body>   
  15. </html> 

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

Tags: PHP上传文件 PHP数据库

分享到: