以下、完全に自分用メモ
■CakePHPで画像アップロードした場合の中身
参照ボタンで画像を選択してアップロード後に debug($this->data) すると、
[image] => Array ( [name] => Bonsai.gif [type] => image/gif [tmp_name] => /Applications/MAMP/tmp/php/phpCXMUmf [error] => 0 [size] => 2105 )
[tmp_name]が画像を一時的に設置するテンポラリフォルダの場所 になっている。
画像アップ後は move_uploaded_file で移動させる処理を行う。
■テンポラリフォルダの取得方法
テンポラリフォルダは2つある。
1)php.ini で upload_tmp_dir にパスを記載している場合
→ var_dump(ini_get('upload_tmp_dir'));
でパスを取得できる
※記述がない場合は no value となりbool(false)が返り
システムのテンポラリフォルダが自動的に利用される。
2)システムのテンポラリフォルダ
→ echo sys_get_temp_dir();
でシステムが利用するテンポラリフォルダのパスを取得できる
■URLを指定して画像を取得
$author_img_url = 'http://images.apple.com/iphone/home/images/a6_hero.png'; $tmp_author_img_data = file_get_contents($author_img_url); file_put_contents('./test-aaa.jpg', $tmp_author_img_data);
■参考URL
PHP: sys_get_temp_dir - Manual
[PHP]画像をダウンロードしてサーバーの特定のディレクトリに保存する « Codaholic