背景 ファイルシステムに画像をアップロードする処理を実装してHerokuにアップロードしたところ、Herokuは1日1度のDynoの再起動に伴いアップロードしたファイルを全消去するという仕様があることが判明。 それはアカン!ということで画像アップロード先をAWSのS3に変更しようとしたところHerokuにドキュメントがあったので参考にしたけど何一つうまくいかなかった(多分事前の設定とか必要だったけどそこら辺は省かれていた)ので色々調べて実装した内容をシェアします。 事前にS3側で必要な設定〜実装までの流れを出来るだけ省かずに記載するのできっと参考になると思います。 AWSアカウント作成 何はともあれ、まずはAWSのアカウント作成からです。 AWSアカウント作成はここを見れば普通に出来ると思います(見なくても出来ます) https://aws.amazon.com/jp/register-f
![PHPでAWSのS3に画像アップロード&画像を画面表示(設定〜実装まで)](https://cdn-ak-scissors.b.st-hatena.com/image/square/ae5d234d507d87b964c498b953a13611d8c2b8db/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UEhQJUUzJTgxJUE3QVdTJUUzJTgxJUFFUzMlRTMlODElQUIlRTclOTQlQkIlRTUlODMlOEYlRTMlODIlQTIlRTMlODMlODMlRTMlODMlOTclRTMlODMlQUQlRTMlODMlQkMlRTMlODMlODklMjYlRTclOTQlQkIlRTUlODMlOEYlRTMlODIlOTIlRTclOTQlQkIlRTklOUQlQTIlRTglQTElQTglRTclQTQlQkElMjglRTglQTglQUQlRTUlQUUlOUElRTMlODAlOUMlRTUlQUUlOUYlRTglQTMlODUlRTMlODElQkUlRTMlODElQTclMjkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTNkYTNkYzhhZWU0MjQwMmFhNzA5ZDM5NTE2MGI1MTVm%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBhbHBoYV96JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0yNzIzYTMwNjQxNzI3NDI0MTE3M2Q5Y2FiOTgzM2I1ZA%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D6fecd47cd75d4ffccee2e042592d4048)