ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使って簡単なオンラインフォトアルバム機能を開発する方法

PHPを使って簡単なオンラインフォトアルバム機能を開発する方法

WBOY
WBOYオリジナル
2023-09-21 08:21:471722ブラウズ

PHPを使って簡単なオンラインフォトアルバム機能を開発する方法

PHP を使用して簡単なオンライン フォト アルバム機能を開発する方法

フォト アルバムは、オンラインで写真を表示するための一般的な機能です。閲覧、共有、ダウンロードに役立ちます。写真を簡単に。この記事では、PHP を使用して簡単なオンライン フォト アルバムを開発する方法を紹介し、具体的なコード例を示します。

1. 開発環境を構築する
まず、開発環境を構築する必要があります。 Apache サーバー、MySQL データベース、PHP インタープリターが組み込まれた XAMPP、WAMP、MAMP などの統合開発環境 (IDE) のインストールを選択できます。

2. データベースの作成
次に、アルバム データを保存するデータベースを作成する必要があります。 phpMyAdmin またはその他のデータベース管理ツールを使用して新しいデータベースを作成し、「photo_album」(または他の任意の名前) という名前を付けることができます。

このデータベースでは、アルバム情報を格納するテーブルと写真情報を格納するテーブルの 2 つのテーブルを作成できます。ここでは、アルバムと写真という 2 つのテーブルを作成します。

  1. アルバム テーブル
    アルバム テーブルは、アルバム ID、アルバム名、作成時刻などのフィールドを含む、アルバムの基本情報を保存するために使用されます。次の SQL ステートメントを使用してテーブルを作成できます:

CREATE TABLE albums(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

  1. photos table
    photos テーブルは、写真 ID、写真名、ファイル名、アルバム ID、アップロードなどの特定の写真情報を各アルバムに保存するために使用されます。時間とその他のフィールド。次の SQL ステートメントを使用してテーブルを作成できます:

CREATE TABLE photos(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
ファイル名 VARCHAR(255) NOT NULL,
album_id INT(11) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (album_id) REFERENCES albums(id) ON DELETE CASCADE
);

3. アルバム ページの作成
次に、アルバム リストを表示し、新しいアルバムをアップロードするための「index.php」という名前のファイルを作成します。次のコードを使用できます:

<?php
// 导入数据库连接配置文件
require_once 'config.php';

// 查询相册列表
$query = "SELECT * FROM albums";

$result = mysqli_query($conn, $query);
?>

<!DOCTYPE html>
<html>
<head>
  <title>相册列表</title>
  <style>
    .album {
      margin-bottom: 20px;
    }
  </style>
</head>
<body>

<h1>相册列表</h1>

<?php while ($row = mysqli_fetch_assoc($result)): ?>
  <div class="album">
    <h2><?php echo $row['name']; ?></h2>
    <p>创建时间:<?php echo $row['created_at']; ?></p>
    <p><a href="view_album.php?id=<?php echo $row['id']; ?>">查看相册</a></p>
  </div>
<?php endwhile; ?>

<h2>上传新相册</h2>
<form action="upload_album.php" method="post">
  <label for="name">相册名称:</label>
  <input type="text" name="name" id="name" required>
  <input type="submit" value="上传">
</form>

</body>
</html>

4. アルバム詳細ページの作成
「view_album.php」という名前のファイルを作成して、指定したアルバム内の写真を表示します。次のコードを使用できます:

<?php
// 导入数据库连接配置文件
require_once 'config.php';

// 获取相册ID
$albumId = $_GET['id'];

// 查询相册名称
$query = "SELECT name FROM albums WHERE id = $albumId";
$result = mysqli_query($conn, $query);
$albumName = mysqli_fetch_assoc($result)['name'];

// 查询相册中的照片列表
$query = "SELECT * FROM photos WHERE album_id = $albumId";

$result = mysqli_query($conn, $query);
?>

<!DOCTYPE html>
<html>
<head>
  <title>相册详情 - <?php echo $albumName; ?></title>
  <style>
    .photo {
      margin-bottom: 20px;
    }
  </style>
</head>
<body>

<h1><?php echo $albumName; ?></h1>

<?php while ($row = mysqli_fetch_assoc($result)): ?>
  <div class="photo">
    <h2><?php echo $row['name']; ?></h2>
    <p>上传时间:<?php echo $row['created_at']; ?></p>
    <img  src="uploads/<?php echo $row['filename']; ? alt="PHPを使って簡単なオンラインフォトアルバム機能を開発する方法" >" alt="<?php echo $row['name']; ?>" width="200">
  </div>
<?php endwhile; ?>

<h2>上传新照片</h2>
<form action="upload_photo.php" method="post" enctype="multipart/form-data">
  <input type="hidden" name="album_id" value="<?php echo $albumId; ?>">
  <label for="name">照片名称:</label>
  <input type="text" name="name" id="name" required>
  <br>
  <label for="file">照片文件:</label>
  <input type="file" name="file" id="file" required>
  <br>
  <input type="submit" value="上传">
</form>

</body>
</html>

5. アルバムと写真をアップロードする
次に、アルバムと写真をアップロードするコードを記述する必要があります。 「upload_album.php」という名前のファイルを作成して、アルバムのアップロードのロジックを処理できます。コードは次のとおりです。

<?php
// 导入数据库连接配置文件
require_once 'config.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $name = $_POST['name'];

  // 插入相册信息
  $query = "INSERT INTO albums(name) VALUES ('$name')";
  mysqli_query($conn, $query);

  // 重定向到相册首页
  header('Location: index.php');
}

同様に、写真をアップロードするロジックを処理するために「upload_photo.php」という名前のファイルを作成できます。コードは次のとおりです。

<?php
// 导入数据库连接配置文件
require_once 'config.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $name = $_POST['name'];
  $albumId = $_POST['album_id'];
  $filename = $_FILES['file']['name'];

  // 上传照片文件到服务器
  move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $filename);

  // 插入照片信息
  $query = "INSERT INTO photos(name, filename, album_id) VALUES ('$name', '$filename', $albumId)";
  mysqli_query($conn, $query);

  // 重定向到相册详情页面
  header("Location: view_album.php?id=$albumId");
}

6. 完成
これで、簡単なオンライン フォト アルバム機能が開発されました。ブラウザで「index.php」ページにアクセスすると、アルバム リストが表示されます。クリックしてアルバムに入り、写真を表示したり、新しい写真をアップロードしたりできます。この記事が、PHP を使用したフォト アルバム機能の開発に役立つことを願っています。

以上がPHPを使って簡単なオンラインフォトアルバム機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る