<?php
/**
*画像の回転処理と出力・表示
*/
// セッション開始
@session_start();
// 回転角度をPOSTメソットで受け取る
$rotate = 0;
if(isset($_POST['rotate'])){
$rotate = $_POST['rotate'];
}
// イメージストリームから新規イメージを作成
$upimgcontent = imagecreatefromstring($_SESSION['upimgcontent']);
// 画像を回転
$uprotateimgcontent = imagerotate($upimgcontent, $rotate, 0);
// バッファリング開始
ob_start();
if($_SESSION['uptypename'] == 'image/jpg') {
// 出力
imagejpeg($uprotateimgcontent);
} elseif($_SESSION['uptypename'] == 'image/png') {
imagepng($uprotateimgcontent);
} elseif($_SESSION['uptypename'] == 'image/gif') {
imagegif($uprotateimgcontent);
}
// バッファ内容を取得してセッション変数に代入
$_SESSION['upimgcontent'] = ob_get_clean();
// メモリを開放
imagedestroy($upimgcontent);
imagedestroy($uprotateimgcontent);
?>
<!--// HTML -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>画像データベース:画像回転表示</title>
</head>
<body>
<!--// date関数のデータを使って、サーバーから最新の画像を取得・表示する。-->
<div><img src="upimageshow.php?date=<?php print date("YmdHis"); ?>" alt="画像" /></div>
</body>
</html>
<?php
/**
*更新画像の表示
*/
// セッション開始
session_start();
header('content-type:' .$_SESSION['uptypename']);
echo $_SESSION['upimgcontent'];
exit;
?>
<?php
/**
*更新処理
*/
// セッション開始
session_start();
// データベースに接続
require_once('imageDB.php');
$pdo = executeQuery();
// id番号をPOSTで受け取る
if(isset($_POST['id'])){
$personid = $_POST['id'];
}
// コメントをPOSTで受け取る
if(isset($_POST['comment'])){
$comment = htmlspecialchars($_POST['comment'], ENT_QUOTES);
}
// 更新日時を取得
date_default_timezone_set('Asia/Tokyo');
// 24時表示
$updated = date("Y-m-d G:i:s");
// DB更新実行
$result = '';
$sql = 'UPDATE image_table SET imgContent=:imgContent, imgComment=:imgComment, updated_at=:updated_at WHERE id=:id'; // ステートメント
// トランザクションの開始
$pdo->beginTransaction();
try {
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id',$personid,PDO::PARAM_INT);
$stmt->bindParam(':imgContent',$_SESSION['upimgcontent'],PDO::PARAM_STR);
$stmt->bindParam(':imgComment',$comment,PDO::PARAM_STR);
$stmt->bindParam(':updated_at',$updated,PDO::PARAM_STR);
$stmt->execute();
$pdo->commit();
$result = '<span style="color:#0000FF">更新が正常に完了しました。</span>';
} catch (PDOException $e) {
$pdo->rollback(); // エラーなら元に戻す
echo $e->getMessage();
$result = '<span style="color:#FF0000">更新エラー!.</span>';
}
$pdo = null;
echo $result;
?>
<?php
/**
*削除処理
*/
// データベースに接続
require_once('imageDB.php');
$pdo = executeQuery();
// id番号をGETメソットで受け取る
if(isset($_GET['id'])){
$personid = $_GET['id'];
}
// DB削除実行
$sql = 'DELETE FROM image_table WHERE id ='.$personid; // ステートメント
$pdo->beginTransaction();
try {
$stmt = $pdo->query($sql);
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollback(); // 実行せず戻す.
echo $e->getMessage();
}
$pdo = null;
// 全データ表示
require("show_All.php");
?>