溫馨提示×

readdir如何與數據庫結合使用

小樊
42
2025-07-22 14:25:30
欄目: 大數據

readdir 是一個 PHP 函數,用于讀取目錄中的文件和子目錄。要將 readdir 與數據庫結合使用,您可以在遍歷目錄時將文件信息存儲到數據庫中。以下是一個簡單的示例,說明如何將 readdir 與 MySQL 數據庫結合使用:

  1. 首先,創建一個 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
);
  1. 在 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 的數據庫表中。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女