FLASHから受信した画像をPHPで保存し、サムネイルも作る
2024/01/12
■参考サイト
・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"; //画像アップされていない
}
関連記事
-
-
ajaxを使わずに非同期っぽくsubmitする
ajaxを使わずに見た目はページ遷移せず、 画像を含めたformをsubmitし ...
-
-
Dropzone.jsを使って画像をドラッグ&ドロップでアップロードする方法
画像を複数枚ドラッグ&ドロップでアップロードしたかった。だいぶ前にDro ...
-
-
PHPからWebAPI(screendot)経由で他サイトのスクリーンショットを取得する方法
PHPで他サイトのスクリーンショットを取得したい。今回はライブラリは無しで実現し ...
-
-
「slick」でブラウザ幅がPCの場合はスライダーを表示し、スマホ幅の場合はスライダー無しにする方法
slickプラグインで画像スライダーを設置しているページがあり、PCのブラウザ幅 ...
-
-
JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法
サイトの開発段階で「本番用の画像はまだ用意できていない」等の理由によりダミー画像 ...