勉強したことのメモ

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でスマホ(iPhone / Android)に画像をダウンロードさせる方法とダウンロード後の保存場所について

PHPで作ったシステムにスマホ(iPhone / Android)でアクセスし何 ...

フォルダにリンク制限をかける

imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...

formのinput="file"でディレクトリを選択させ、ディレクトリ内のファイルを全てアップロードする方法

フォームで複数のファイルをアップロードしたい場合、input="file"を複数 ...

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

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

フォームからアップロードした画像にPHPで任意のテキストを追加する方法

以前フォームから送られてきた画像に対してサイトロゴみたいなロゴ画像を追加する記事 ...