温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!
PHP传MySQL文件主要分为以下几个步骤:
1. 需要创建一个表来存储上传的文件信息。可以使用以下SQL语句创建一个名为`files`的表:
CREATE TABLE files (
id INT AUTO_INCREMENT PRIMARY KEY,
filename VARCHAR(255),
filepath VARCHAR(255),
filesize INT,
upload_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
2. 在HTML表单中添加一个文件上传字段,用户可以选择要上传的文件。使用`<input type="file">`标签来实现文件上传功能。这个标签会创建一个文件选择框,用户可以选择本地文件。
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传文件" name="submit">
</form>
3. 在PHP脚本中处理文件上传。需要检查文件是否成功上传,并且没有出现任何错误。可以使用`$_FILES`全局变量来访问上传的文件信息。使用`move_uploaded_file()`函数将上传的文件移动到指定的目录。
$targetDir = "uploads/"; // 上传文件保存的目录
$targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]); // 上传文件的完整路径
if (isset($_POST["submit"])) {
$fileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); // 获取文件后缀名
// 检查文件是否为允许的类型
if ($fileType == "csv") {
// 检查文件是否成功上传
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
echo "文件上传成功。";
// 将文件信息插入数据库
$filename = basename($_FILES["fileToUpload"]["name"]);
$filesize = $_FILES["fileToUpload"]["size"];
$filepath = $targetFile;
// 连接数据库
$conn = new mysqli("localhost", "username", "password", "database");
// 插入文件信息
$sql = "INSERT INTO files (filename, filepath, filesize) VALUES ('$filename', '$filepath', $filesize)";
$conn->query($sql);
$conn->close();
} else {
echo "文件上传失败。";
}
} else {
echo "只允许上传CSV文件。";
}
}
4. 在页面中显示已上传的文件列表。可以使用以下代码从数据库中检索文件信息,并将其显示在页面上。
// 连接数据库
$conn = new mysqli("localhost", "username", "password", "database");
// 查询已上传的文件信息
$sql = "SELECT * FROM files";
$result = $conn->query($sql);
// 显示文件列表
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "文件名: " . $row["filename"] . "<br>";
echo "文件大小: " . $row["filesize"] . " bytes<br>";
echo "上传时间: " . $row["upload_time"] . "<br>";
echo "<a href='" . $row["filepath"] . "'>下载</a><br><br>";
}
} else {
echo "没有上传的文件。";
}
$conn->close();
以上是使用PHP将文件上传到MySQL数据库的基本步骤。需要注意的是,为了保证安全性,应该对上传的文件进行验证,例如检查文件类型、文件大小等。还可以使用数据库事务来确保文件信息和文件本身的一致性。