What are some best practices for organizing albums and images in a PHP gallery?

When organizing albums and images in a PHP gallery, it is important to create a clear folder structure to store the images. Each album should have its own folder, and within each album folder, individual images should be stored. It is also helpful to create a database to store information about each album and image, such as title, description, and file path.

// Create a folder structure for albums and images
$albums = ['album1', 'album2', 'album3'];
foreach ($albums as $album) {
    if (!file_exists($album)) {
        mkdir($album);
    }
}

// Store information about albums and images in a database
$mysqli = new mysqli("localhost", "username", "password", "gallery");
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// Create a table to store albums
$create_albums_table = "CREATE TABLE albums (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(30) NOT NULL,
    description TEXT,
    cover_image VARCHAR(255)
)";
$mysqli->query($create_albums_table);

// Create a table to store images
$create_images_table = "CREATE TABLE images (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    album_id INT(6) UNSIGNED,
    title VARCHAR(30) NOT NULL,
    description TEXT,
    file_path VARCHAR(255)
)";
$mysqli->query($create_images_table);