回答編集履歴

6

間違いの修正

2016/02/06 15:42

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -1,21 +1,11 @@
1
- ※bindParamとbindColumn見間違えてコメントましたの、大幅に書き換えまた。
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の指定、「"Content-Type: $typ"」では$typが文字のまま出てしまいそうです。
11
+ 後、エラーには直接関係ないかもしれませんが、Content-Typeの指定、「"Content-Type: $typ"」では$typが文字のまま出てしまいそうです。

5

誤字修正

2016/02/06 15:42

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -1,4 +1,4 @@
1
- ※bindParamとbindClumnを見間違えてコメントしていましたので、大幅に書き換えました。
1
+ ※bindParamとbindColumnを見間違えてコメントしていましたので、大幅に書き換えました。
2
2
 
3
3
 
4
4
 

4

修正

2016/02/06 15:31

投稿

hirohiro
hirohiro

スコア2068

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

3

追記

2016/02/06 15:28

投稿

hirohiro
hirohiro

スコア2068

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

コード修正

2016/02/06 15:19

投稿

hirohiro
hirohiro

スコア2068

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

コード修正

2016/02/06 15:10

投稿

hirohiro
hirohiro

スコア2068

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
  ```