php上传文件并存储到mysql数据库的方法

时间:2021-11-03 08:06:53

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

下面的代码分别用于创建mysql表和上传文件保存到mysql数据库

创建mysql表:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 $con = mysql_connect("localhost", "", "");
 mysql_select_db("w3m");
 $sql = "CREATE TABLE updfiles ("
   . " id INTEGER NOT NULL AUTO_INCREMENT"
   . ", name VARCHAR(80) NOT NULL"
   . ", type VARCHAR(80) NOT NULL"
   . ", size INTEGER NOT NULL"
   . ", content BLOB"
   . ", PRIMARY KEY (id)"
   . ")";
 mysql_query($sql, $con);
 mysql_close($con);
?>

上传文件并保存到mysql中,通过insert语句插入

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 $con = mysql_connect("localhost", "", "");
 mysql_select_db("w3m");
 $error = $_FILES['w3img']['error'];
 $tmp_name = $_FILES['w3img']['tmp_name'];
 $size = $_FILES['w3img']['size'];
 $name = $_FILES['w3img']['name'];
 $type = $_FILES['w3img']['type'];
 print("\n");
 if ($error == UPLOAD_ERR_OK && $size > 0) {
  $fp = fopen($tmp_name, 'r');
  $content = fread($fp, $size);
  fclose($fp); 
  $content = addslashes($content);
  $sql = "INSERT INTO fyi_files (name, type, size, content)"
   . " VALUES ('$name', '$type', $size, '$content')";
  mysql_query($sql, $con);
  print("File stored.\n");
 } else {
  print("Database Save for upload failed.\n");
 }
 print("\n");
 mysql_close($con);
?>

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