勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

FLASHから受信した画像をPHPで保存し、サムネイルも作る

   2024/01/12  PHP

■参考サイト
・FLASH
http://www.ilovex.co.jp/blog/system/cat818/phpdeflashpost.html
・サムネイル
http://www.24w.jp/study_contents.php?bid=php&iid=php&sid=graphic&cid=002

■ソース
if ($GLOBALS['HTTP_RAW_POST_DATA']) { //生のPOSTデータを受信した場合

$performerCode = $_REQUEST['performerCode'];
$fileNo = $_REQUEST['fileNo'];
$folderpath = "/aaa/test_image/";
$fileName = $performerCode . "_" . $fileNo . ".jpg";
$file_path = $folderpath . $fileName;

$fp = fopen($file_path, 'wb');
if (fwrite($fp, $GLOBALS['HTTP_RAW_POST_DATA'])) { //画像を書き込む
} else {
echo "ng"; //画像の書き込み失敗
exit();
}
fclose($fp);

//サムネイル画像作成
$width = 150; // 出力する画像サイズの指定
$height = 120;
$canvas = imagecreatetruecolor($width, $height); // サイズを指定して、背景用画像を生成
$targetImage = $file_path; // コピー元画像の指定
$image = imagecreatefromjpeg($targetImage); // ファイル名から、画像インスタンスを生成
list($image_w, $image_h) = getimagesize($targetImage); // コピー元画像のファイルサイズを取得
$s_image = $folderpath . 's' .$fileName; //サムネイル画像のファイルパス指定

if (imagecopyresampled($canvas, $image,0, 0, 0, 0, $width, $height, $image_w, $image_h)) { //画像のコピー
if (imagejpeg($canvas, $s_image, 100)) { //画像の出力
$db = mysql_connect($dbhost, $dbuser, $dbpass); //DB接続
mysql_select_db($dbname, $db);
$sql = "SET NAMES ujis;";
$rs = mysql_query($sql);
echo "ok";
exit();
}
}
echo "ng"; //なんらかでOKの分岐にいってない
} else {
echo "ng"; //画像アップされていない
}

 - PHP

  関連記事

PHPでダミー画像(プレースホルダー画像)を表示する「PHP-Dummy-Image-Generator」の利用方法
PHPでダミー画像(プレースホルダー画像)を表示する「PHP-Dummy-Image-Generator」の利用方法

先日JavaScriptでダミー画像(プレースホルダー画像)を表示する「Hold ...

PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利
PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利

今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...

PHPからWebAPI(screendot)経由で他サイトのスクリーンショットを取得する方法
PHPからWebAPI(screendot)経由で他サイトのスクリーンショットを取得する方法

PHPで他サイトのスクリーンショットを取得したい。今回はライブラリは無しで実現し ...

PHPでjpg / png画像をAVIF形式の画像に変換する方法
PHPでjpg / png画像をAVIF形式の画像に変換する方法

PHPでjpg / png画像をAVIF形式の画像に変換しサーバに保存したい。W ...

smart_resize_imageで縦横の比率関係なく、固定リサイズ
smart_resize_imageで縦横の比率関係なく、固定リサイズ

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...