前提・実現したいこと
PHP(CakePHP3)でユーザが投稿した画像を表示させるシステムを作っています。
サーバサイドでサムネイルを生成し一覧表示させ、サムネイル画像をクリックすると元のサイズの画像を表示させるページ(image.ctp)に遷移します。
画像の拡張子はjpgに限定しています。
環境はXAMPP、ユーザの投稿した画像の場所は「xampp/htdocs/(プロジェクト名)/webroot/img」以下です。
発生している問題
これは遷移したimage.ctpのページです。
理想としては元のサイズの画像が表示されればよいのですが、中央に□が表示されるのみとなっています。
該当のソースコード
(HogeController.php)
public function Image($id = null) { // 渡された$idをもとにDBから(画像ファイル名)を1件取得 $this->viewBuilder()->enableAutoLayout(false); $this->response->type('jpg'); $downloadFile = '/xampp/htdocs/(プロジェクト名)/webroot/img/' . (画像ファイル名); readfile($downloadFile); }
(image.ctp)
(このページにはなにもコードを記述していません)
試したこと
①image.phpにて中央の□の要素を検証したら、以下のタグでした。
<img style="-webkit-user-select: none;" src="http://localhost/(プロジェクト名)/hoge/image/212">
②$downloadFileについて、相対パスではなく絶対パスで指定しても同じ結果でした。
その他
bootstrap4を導入しています。
回答くださるとありがたいです。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/04 05:54
2018/09/04 07:30 編集
2018/09/04 08:13 編集
2018/09/04 08:28 編集
2018/09/04 08:27
2018/09/04 08:49 編集
2018/09/04 08:59
2018/09/04 09:47
2018/09/04 09:52
退会済みユーザー
2018/09/04 10:08
2018/09/04 10:10
2018/09/04 10:22
2018/09/04 10:25 編集
2018/09/04 10:28
2018/09/04 10:39
2018/09/04 10:43