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

这篇文章主要介绍了php上传文件并存储到mysql数据库的方法,以完整实例形式较为详细的分析了php操作文件上传与数据库存储的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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

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

创建mysql表:

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

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

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

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