回答編集履歴

2

edit

2021/11/15 20:57

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- 呼び出し側はIDを渡す記述だけして新たなPHP(提示コードは仮名)を設け
15
+ 呼び出し側はIDを渡す記述だけして新たなPHP(提示コードは仮名)を設け
16
16
 
17
17
  ```php
18
18
 

1

edit

2021/11/15 20:56

投稿

m.ts10806
m.ts10806

スコア80850

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