回答です
This commit is contained in:
39
answer/Ex06_image_regist.php
Normal file
39
answer/Ex06_image_regist.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
// Ex07_query.php
|
||||
|
||||
$dsn = "mysql:host=localhost;dbname=employee_db;charset=utf8";
|
||||
$username = "rezouser";
|
||||
$password = "Rezo_0000";
|
||||
|
||||
try {
|
||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||
throw new Exception("POSTメソッドで送信してください。");
|
||||
}
|
||||
|
||||
if (!isset($_FILES['image']) || $_FILES['image']['error'] !== UPLOAD_ERR_OK) {
|
||||
throw new Exception("画像ファイルが正しくアップロードされていません。");
|
||||
}
|
||||
|
||||
$filename = $_FILES['image']['name'];
|
||||
$mime = $_FILES['image']['type'];
|
||||
$imageData = file_get_contents($_FILES['image']['tmp_name']);
|
||||
|
||||
$pdo = new PDO($dsn, $username, $password);
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
$sql = "INSERT INTO images (filename, mime, image) VALUES (:filename, :mime, :image)";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':filename', $filename, PDO::PARAM_STR);
|
||||
$stmt->bindParam(':mime', $mime, PDO::PARAM_STR);
|
||||
$stmt->bindParam(':image', $imageData, PDO::PARAM_LOB);
|
||||
$stmt->execute();
|
||||
|
||||
$lastInsertId = $pdo->lastInsertId();
|
||||
echo "画像登録成功。画像ID: " . $lastInsertId;
|
||||
} catch (Exception $e) {
|
||||
echo "エラー: " . $e->getMessage();
|
||||
} finally {
|
||||
if (isset($pdo)) {
|
||||
$pdo = null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user