Files
php-db-question/Ex06_image_regist.php
2026-10-28 14:24:02 +09:00

28 lines
1.6 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* [Ex07 画像登録と表示 - PDOとbindColumnの利用(統合版)]
*
* ※この課題は2部構成です。
*
* Part1: 画像登録(アップロード)処理
* - このファイル "Ex06_image_regist.php" を使い、以下の処理を実装してください。
* 1. HTMLフォームからPOSTで送信された画像ファイル(input name="image")を受け取る。
* 2. PDO を用いて MySQL の "images" テーブルに画像情報を登録する。
* "images" テーブルのスキーマは以下の通りです:
* - id INT AUTO_INCREMENT PRIMARY KEY,
* - filename VARCHAR(255) NOT NULL,
* - mime VARCHAR(50) NOT NULL,
* - image LONGBLOB NOT NULL
* 3. PDO の prepare() と bindParam() を使用し、画像データは PDO::PARAM_LOB でバインドしてください。
* 4. 登録が成功した場合、最後の挿入ID(画像ID)を出力すること。
*
* Part2: 画像表示処理
* - "Ex06_image_display.php" を使い、GETパラメータ "id" を受け取って、登録された画像情報を取得してください。
* - PDO の prepare() と bindColumn() を使用して、画像情報(filename, mime, image)を取得します。
* - ※重要: LONGBLOB カラムは bindColumn() により取得すると、場合によってはリソース型(ストリーム)として返されます。
* その場合は、is_resource() でチェックし、stream_get_contents() を用いて文字列に変換してください。
* - 取得した画像データは base64_encode() を用いてエンコードしてください。
*
*/