[PHP] POSTされた画像データを取得・保存する
PHPに対してPOSTされた画像データを取得・保存するサンプルソース
Flashとの連携などで画像データを受け取る際に使用する。
<?php
// 画像データ取得
$img = file_get_contents('php://input');
// 一意なテンポラリファイル名を生成
$tmpfname = tempnam('./', 'img_');
unlink($tmpfname);
// ファイル名に拡張子を付加
$tmpfname = $tmpfname . '.jpg';
// ファイルをサーバに保存
$fp = fopen($tmpfname, 'wb');
fwrite($fp, $img);
fclose($fp);
?>
このサンプルはセキュリティ等を考慮していない必要最低限のソース
以下はグローバル変数を使用するパターン
<?php
$tmpfname = tempnam('./', 'img_');
unlink($tmpfname);
$tmpfname = $tmpfname . '.jpg';
$fp = fopen($tmpfname, 'wb');
fwrite($fp, $GLOBALS['HTTP_RAW_POST_DATA']);
fclose($fp);
?>
PHP 4.0.6 より前のバージョンでは、tempnam の動作はシステムに依存する。
詳しくは以下を参照
- Windows : TMP 環境変数が dir パラメータを上書きする。
- Linux : TMPDIR 環境変数が優先される。
- SVR4 : 指定したディレクトリが存在する場合は、常に dir パラメータが使用される。
トラックバックURL
http://mashimonator.weblike.jp/mt/mt-tb.cgi/22
コメント投稿フォーム