readdir如何与数据库结合使用
readdir
是一个 PHP 函数,用于读取目录中的文件和子目录。要将 readdir
与数据库结合使用,您可以在遍历目录时将文件信息存储到数据库中。以下是一个简单的示例,说明如何将 readdir
与 MySQL 数据库结合使用:
- 首先,创建一个 MySQL 数据库和表来存储文件信息。例如:
CREATE DATABASE file_info;
USE file_info;
CREATE TABLE files (
id INT AUTO_INCREMENT PRIMARY KEY,
directory VARCHAR(255) NOT NULL,
filename VARCHAR(255) NOT NULL,
filesize INT,
file_type VARCHAR(255),
modified_time TIMESTAMP
);
- 在 PHP 脚本中,连接到数据库并创建一个函数来处理目录遍历和文件信息插入:
<?php
// 数据库连接信息
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "file_info";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 遍历目录并将文件信息插入数据库
function scanDirectory($dir, $conn) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if ($file != "." && $file != "..") {
$filepath = $dir . "/" . $file;
$filesize = filesize($filepath);
$filetype = mime_content_type($filepath);
$modified_time = date("Y-m-d H:i:s", filemtime($filepath));
// 将文件信息插入数据库
$sql = "INSERT INTO files (directory, filename, filesize, file_type, modified_time) VALUES (?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssiss", $dir, $file, $filesize, $filetype, $modified_time);
$stmt->execute();
}
}
closedir($dh);
}
}
// 调用函数,传入要扫描的目录和数据库连接
scanDirectory("your_directory_path", $conn);
// 关闭数据库连接
$conn->close();
?>
请将 your_directory_path
替换为您要扫描的目录路径,将数据库连接信息替换为您自己的信息。这个脚本将遍历指定目录中的所有文件和子目录,并将文件信息插入到名为 files
的数据库表中。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!