勉強したことのメモ

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でjpg / png画像をAVIF形式の画像に変換する方法

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

PHPにて指定した画像に対して、繰り返し透かし画像処理する方法

画像素材等のサイトで無料版の画像に対して「sample」等の透かし画像処理を行っ ...

PHPでjpg / png画像をWebP画像に変換し保存する方法

PHPでjpg / png画像を圧縮したかった。ただjpg / pngのままだと ...

PHPにて「ImageHash」ライブラリを使用し画像の類似度を算出する方法

以前にPHPの「image-comparator」ライブラリで画像の類似度を算出 ...