前提・実現したいこと
codeigniterで画像のアップロードの際、iPhoneからアップロードすると画像の向きが横になってしまうのを縦に戻したい。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
codeigniter PHP public function upload_image($data_id, $type) { if($tmp_name = $_FILES['file']['tmp_name']) { $ext = $this->func->getExt($_FILES['file']['name']); if ($type == 1) { list($image_id, $filename, $cover) = $this->_m("costume_poses")->set_image($data_id, $ext); $dirctries = array(STOREPATH. 'images/costumes', STOREPATH . 'images/costumes/poses'); } else { list($image_id, $filename, $cover) = $this->_m("items")->set_image($data_id, $ext); $dirctries = array(STOREPATH . 'images/items'); } $tmp_filename = tempnam(sys_get_temp_dir(), 'costume_upload_image_'); move_uploaded_file($tmp_name, $tmp_filename); $s3cli = Aws\S3\S3Client::factory([ 'profile' => 'default', 'region' => 'ap-northeast-1', 'version' => 'latest' ]); try { log_message('debug', sprintf('%s uploading to %s', $tmp_filename, $filename)); $s3cli->putObject([ 'Bucket' => S3_BUCKET_NAME, 'Key' => "store/images/$filename", 'SourceFile' => $tmp_filename ]); log_message('debug', sprintf('%s uploaded', $tmp_filename)); unlink($tmp_filename); } catch (Exception $ex) { $response = [ "state" => "error" ]; $this->_json($response); unlink($tmp_filename); return; } $response = array ( "state" => "success", "filename" => $filename, "image_id" => $image_id, "cover" => $cover ); } $this->_json($response); }
試したこと
他の記事を参考に、iPhoneはもともとExifのoreintationの設定がしてあるなど書いてあったのですがどうしればいいのわからずです。
この記事を参考に試して見ましたがうまくいきませんでした。
(うまく行かないと言うよりはこれをどこにどのように書いて行けばいいのかわからない状況です)
https://qiita.com/hiro_y/items/0476bcf39a77ca184009
補足情報(FW/ツールのバージョンなど)
ご教示いただければと思います。
お願い致します。
「Codeigniter」タグをつけておいてください。
そもそも
if($tmp_name = $_FILES['file']['tmp_name'])
上記のif文全く意味ないように思いますが・・
すいません、初めての質問でしてタグ付けもままならなかったです。
申し訳ありません。
そうなのですね、、、
まだまだエンジニア歴が短く、自分が一から書いた訳ではないのでちょっとそのあたりはよくわかりませんが、、、
こちらのご回答はどのようにするべきでしょうか?
質問は編集できるので適宜ご対応いただければと。
コード自体の理解が薄いと少しの改修にも踏み出すのが難しいと思いますので、PHPマニュアルやフレームワークのマニュアルを参照しつつ、きちんと理解されるように努められてはいかがでしょうか。
私自身Codeigniterに明るいわけではないですが、マニュアル読めば大抵のことは何とかなります。
あれ?折角の質問で、回答もしたのに。。
マニュアルなどみて悩んでもわからなかったので質問したのに大抵のことはわかるとか言ってるダンボ君がいるから消しました。
削除ボタンはないみたいなのでこの編集で
初質問でこれじゃこっちも気分が悪いんでさよならダンボ君
君は回答しないほうがいいよ
拡大解釈がひどすぎますね。「大抵のことは何とかなる」と「分かる」は全く意味が違いますし、そもそも「大抵」です。何とかならないこともあるから、そこは別角度からの検証は必要。
マニュアルをどこまで読んだか質問内容だけでは分からないから「まず読んでみましょう」というのは当たり前です。
本当に何も読まず、何も調べず質問する人も後を絶たないので、それらとの区別は他人には不可能です。
どこをどう見た、とか、どう理解した、とか書かれないと、どの程度の尺度の回答をしていいかわかりません。
「質問するときのヒント」にも書いてあります。https://teratail.com/help/question-tips#questionTips3-5-2 とかですね。
どう悩んだか、あなたしか知らない状況では答えようがないことのほうが多いわけです。
まあ解決する気がないようでしたら、それは仕方ないですね。
初質問でもなんでもですが、おおよその人がきちんと応じてくれます。それだけ解決したいという想いが強いのだと思いますが、そうでない人に手を差し伸べる人はいません。
退会されたようですが、文章だけのやりとりじゃ、どれだけ悩んでいるかとか伝わりませんからね。回答者はエスパーでも魔法使いでもありません。
それだけ丁寧に状況を書かないと誰も助けられません。
私自身も何か助けられることがないかと思って、質問への追記依頼をかけたわけですが、これくらいで逃げる人を助けようとは誰も思わないでしょうね。お金払って業者にやってもらってください。
ここは質問サイトであって作業依頼のサイトではありませんので。
ちなみにヘルプを読むとなぜ削除ボタンがないか分かります。
https://teratail.com/help/delete-policy
プログラミング言語のドキュメントもそうですが、説明書は読む癖つけたほうがいいですよ。じゃないとあなたはどこでも何も成せません。例え個人の趣味であっても。
いずれにせよ、mts10806のコメントがまともに読めてない時点でお察しですわ。