質問するログイン新規登録

回答編集履歴

2

edit

2021/11/15 20:57

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  base64形式の画像は小さいもの向けのようで、画像の呼び出し方を変えた方がいいかもしれません。
7
7
 
8
- 呼び出し側はIDを渡す記述だけして新たなPHP(提示コードは仮名)を設け
8
+ 呼び出し側はIDを渡す記述だけして新たなPHP(提示コードは仮名)を設け
9
9
  ```php
10
10
  foreach($row as $data){
11
11
  echo '<img src="image.php?id='.$data["id"].'"><br>'.PHP_EOL;

1

edit

2021/11/15 20:56

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,2 +1,25 @@
1
1
  [data](https://developer.mozilla.org/ja/docs/Web/HTTP/Basics_of_HTTP/Data_URIs)に設定するのはファイル名ではなくmediatypeです。
2
- DBに[mime_content_type()](https://www.php.net/manual/ja/function.mime-content-type.php)で取得した文字列も保管する必要があると思います。
2
+ DBに[mime_content_type()](https://www.php.net/manual/ja/function.mime-content-type.php)で取得した文字列も保管する必要があると思います。
3
+
4
+ # 追記
5
+
6
+ base64形式の画像は小さいもの向けのようで、画像の呼び出し方を変えた方がいいかもしれません。
7
+
8
+ 呼び出し側はIDを渡す記述だけして新たなPHP(提示コードは仮名)を設け
9
+ ```php
10
+ foreach($row as $data){
11
+ echo '<img src="image.php?id='.$data["id"].'"><br>'.PHP_EOL;
12
+ }
13
+ ```
14
+ としたうえでimage.php()を
15
+ ```php
16
+ $sql = "SELECT * FROM img where id=?";
17
+ $stmt_pic = $dbh->prepare ( $sql );
18
+ $stmt_pic->execute ([$_GET["id"]]);
19
+ $row = $stmt_pic->fetch(PDO::FETCH_ASSOC);
20
+ header("Content-Type: ".$row["type"]);
21
+ print $row["image"];
22
+ //try-catchやconnectionは省略
23
+ ```
24
+
25
+ 手元ではこれで表示されました。