connet.lolipop.jp
画像の回転処理と出力・表示
更新フォームページの画像の「回転」操作により、非同期通信経由で画像の回転処理と出力及び表示を行う。

rotate.php
							<?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>
更新画像表示
更新フォームページの画像の「回転」操作により、画像を表示。

upimageshow.php
							<?php
							/**
							*更新画像の表示 
							*/
							
							// セッション開始 
							session_start();
							
							header('content-type:' .$_SESSION['uptypename']);
							echo $_SESSION['upimgcontent'];
							exit;
							?>
更新処理
更新フォームページの「更新」操作により、レコードを更新。

update2.php
							<?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;
							?>
削除処理
全データ表示ページの「削除」操作により、レコードを削除。
削除後は最新の全データを表示。

delete.php
							<?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");
							?>
Search
Google


↟ このページの先頭へ