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

网络编程 2025-03-29 07:41www.168986.cn编程入门

本文将详细介绍如何使用PHP上传文件并将其存储到MySQL数据库中。通过实际案例,我们将深入PHP操作文件上传与数据库存储的技巧,为需要的读者提供参考。

一、创建MySQL表

我们需要创建一个用于存储上传文件的MySQL表。下面是创建表的PHP代码:

```php

$con = mysql_connect("localhost", "username", "password"); // 连接MySQL服务器

mysql_select_db("database_name"); // 选择数据库

$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); // 执行创建表的SQL语句

mysql_close($con); // 关闭数据库连接

?>

```

请根据实际情况替换代码中的"username"、"password"和"database_name"。此代码将创建一个名为"updfiles"的表,用于存储上传文件的名称、类型、大小和二进制内容。

二、上传文件并保存到MySQL数据库

接下来,我们将编写PHP代码来实现文件上传并将文件内容保存到MySQL数据库中。以下是实现这一功能的代码:

```php

$con = mysql_connect("localhost", "username", "password"); // 连接MySQL服务器

mysql_select_db("database_name"); // 选择数据库

$error = $_FILES['w3img']['error']; // 获取文件上传错误代码

$tmp_name = $_FILES['w3img']['tmp_name']; // 获取临时文件路径

$size = $_FILES['w3img']['size']; // 获取文件大小

$name = $_FILES['w3img']['name']; // 获取文件名

$type = $_FILES['w3img']['type']; // 获取文件类型

if ($error == UPLOAD_ERR_OK && $size > 0) { // 如果文件上传成功且大小大于0

$fp = fopen($tmp_name, 'r'); // 打开临时文件以读取内容

$content = fread($fp, $size); // 读取文件内容

fclose($fp); // 关闭文件句柄

$content = addslashes($content); // 对特殊字符进行转义,防止SQL注入攻击

print("文件已存储。"); // 输出成功信息

} else {

print("数据库保存上传失败。"); // 输出错误信息

}

mysql_close($con); // 关闭数据库连接

?>

```

请确保替换代码中的"username"、"password"和"database_name",并根据实际情况调整文件上传的字段名称(例如,将'w3img'替换为实际的字段名称)。这段代码将接收上传的文件,将其内容保存到MySQL数据库的"updfiles"表中。如果文件上传成功并成功保存到数据库,将输出"文件已存储";否则,将输出错误信息。记得关闭数据库连接。希望本文所述对大家的PHP程序设计有所帮助。

上一篇:jQuery中hover与mouseover和mouseout的区别分析 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by