勉強したことのメモ

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でファイル書き込み時に「failed to open stream: HTTP~~」エラー

PHPでファイルを書き込む際に「failed to open stream: H ...

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

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

CodeIgniter4でフォームからファイルをアップロードし保存する方法

CodeIgniter4.4.4でformから画像等のファイルをアップロードし、 ...

他サーバーにある画像をPHPで取得して保存する方法

他サーバーにある画像をURLで指定して、PHPで取得して保存する方法のメモ。 フ ...

PHPで画像を上下反転させ保存する

やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...