回答編集履歴
6
間違いの修正
test
CHANGED
@@ -1,21 +1,11 @@
|
|
1
|
-
|
1
|
+
ひょっとしてfpassthru();にバイナリを直接流し込んだからではないでしょうか?
|
2
|
+
|
3
|
+
[phpマニュアルのページ](http://php.net/manual/ja/function.fpassthru.php)
|
4
|
+
|
5
|
+
>>fpassthru — ファイルポインタ上に残っているすべてのデータを出力する
|
6
|
+
|
7
|
+
$datはファイルポインタではなくて、恐らくデータそのもの?
|
2
8
|
|
3
9
|
|
4
10
|
|
5
|
-
ちょっと自信はないのですが「$stmt->fetch(PDO::FETCH_BOUND);」でfetchした結果を受けたオブジェクトを使えていないからでは?
|
6
|
-
|
7
|
-
SQL抽出結果が複数あるbindclumnの例だとこんな雰囲気のコード例がありますが、1件だけだと質問者さんの書き方でも大丈夫なのでしょうか?
|
8
|
-
|
9
|
-
```php
|
10
|
-
|
11
|
-
while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
|
12
|
-
|
13
|
-
header("Content-Type: ".$typ);
|
14
|
-
|
15
|
-
fpassthru($dat);
|
16
|
-
|
17
|
-
}
|
18
|
-
|
19
|
-
```
|
20
|
-
|
21
|
-
後、エラーには直接関係ないかもしれませんが、Content-Typeの指定
|
11
|
+
後、エラーには直接関係ないかもしれませんが、Content-Typeの指定は、「"Content-Type: $typ"」では$typが文字のまま出てしまいそうです。
|
5
誤字修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
※bindParamとbindClumnを見間違えてコメントしていましたので、大幅に書き換えました。
|
1
|
+
※bindParamとbindColumnを見間違えてコメントしていましたので、大幅に書き換えました。
|
2
2
|
|
3
3
|
|
4
4
|
|
4
修正
test
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
bindParamとbindClumnを見間違えていたので
|
1
|
+
※bindParamとbindClumnを見間違えてコメントしていましたので、大幅に書き換えました。
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
「s
|
5
|
+
ちょっと自信はないのですが「$stmt->fetch(PDO::FETCH_BOUND);」でfetchした結果を受けたオブジェクトを使えていないからでは?
|
6
6
|
|
7
|
-
|
7
|
+
SQL抽出結果が複数あるbindclumnの例だとこんな雰囲気のコード例がありますが、1件だけだと質問者さんの書き方でも大丈夫なのでしょうか?
|
8
|
-
|
9
|
-
|
10
8
|
|
11
9
|
```php
|
12
10
|
|
13
|
-
|
11
|
+
while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
|
14
12
|
|
15
|
-
header("Content-Type: ".$
|
13
|
+
header("Content-Type: ".$typ);
|
16
14
|
|
17
|
-
fpassthru($
|
15
|
+
fpassthru($dat);
|
16
|
+
|
17
|
+
}
|
18
18
|
|
19
19
|
```
|
20
20
|
|
21
|
-
|
21
|
+
後、エラーには直接関係ないかもしれませんが、Content-Typeの指定も、「"Content-Type: $typ"」では$typが文字のまま出てしまいそうです。
|
3
追記
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
bindParamとbindClumnを見間違えていたので修正中
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
「show_image.php」で、「fpassthru($dat);」としていますが、この$datはSQL作成のバインドパラメータでも利用されています。
|
2
6
|
|
3
7
|
恐らくファイル名かID(つまりただの文字列)じゃないでしょうか?
|
2
コード修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
「show_image.php」で、「fpassthru($dat);」としていますが、この$datはSQL作成の
|
1
|
+
「show_image.php」で、「fpassthru($dat);」としていますが、この$datはSQL作成のバインドパラメータでも利用されています。
|
2
2
|
|
3
|
-
恐らくファイル名かIDじゃないでしょうか?
|
3
|
+
恐らくファイル名かID(つまりただの文字列)じゃないでしょうか?
|
4
4
|
|
5
5
|
|
6
6
|
|
1
コード修正
test
CHANGED
@@ -8,6 +8,8 @@
|
|
8
8
|
|
9
9
|
$img = $stmt->fetch(PDO::FETCH_BOUND);
|
10
10
|
|
11
|
+
header("Content-Type: ".$img->type);
|
12
|
+
|
11
13
|
fpassthru($img->imgdat);
|
12
14
|
|
13
15
|
```
|