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

回答編集履歴

8

見直し

2017/04/28 09:02

投稿

退会済みユーザー
answer CHANGED
@@ -12,4 +12,4 @@
12
12
  `$stmt->bindParam(':i',$img);`
13
13
  で変数に格納しているデータを引き渡す必要もありますね。
14
14
 
15
- これで画像ファイルを格納できないでしょうか。
15
+ これで画像ファイルを格納できないでしょうか。

7

加筆修正

2017/04/28 09:02

投稿

退会済みユーザー
answer CHANGED
@@ -7,15 +7,9 @@
7
7
  `$_FILES['_img']['tmp_name']`に仮置きしているファイルがあるはずです。
8
8
  [is_uploaded_file()](http://php.net/manual/ja/function.is-uploaded-file.php)にて
9
9
  アップロードされたファイルが存在するかを確認してから、
10
- [move_uploaded_file()](http://php.net/manual/ja/function.move-uploaded-file.php)にて
11
- アップロードされたファイルを仮置きの場所から
12
- プログラムでわかる場所(例えば`./temp/`とか)に一旦ファイルコピーをした後、
13
- `$img=file_get_contents('./temp/' . $_FILES['_img']['tmp_name']);`
10
+ `$img=file_get_contents($_FILES['_img']['tmp_name']);`
14
11
  じゃないかなぁと。
15
12
  `$stmt->bindParam(':i',$img);`
16
13
  で変数に格納しているデータを引き渡す必要もありますね。
17
- もちろん、格納が成功しても失敗しても、
18
- 仮に`./temp/`に置いたファイルは削除しないとずっと残ってしまうため
19
- 処理の最後に削除します。
20
14
 
21
15
  これで画像ファイルを格納できないでしょうか。

6

見直し

2017/04/28 08:51

投稿

退会済みユーザー
answer CHANGED
@@ -14,5 +14,8 @@
14
14
  じゃないかなぁと。
15
15
  `$stmt->bindParam(':i',$img);`
16
16
  で変数に格納しているデータを引き渡す必要もありますね。
17
+ もちろん、格納が成功しても失敗しても、
18
+ 仮に`./temp/`に置いたファイルは削除しないとずっと残ってしまうため
19
+ 処理の最後に削除します。
17
20
 
18
21
  これで画像ファイルを格納できないでしょうか。

5

見直し

2017/04/28 08:46

投稿

退会済みユーザー
answer CHANGED
@@ -1,25 +1,18 @@
1
- 画像を受信したときに一時ファイル置き場(?)に置かれ仮のファイル名がつけられますが、
2
- それを適切に後からwebから参照できる位置にファイルを移動して、
3
- そのファイル位置をデータベースに登録する必要があると思うのですが、
4
- 画像ファ受信したをバナリーデータのまま格納るつもりで居ますか?
1
+ (マナス評価いただきましたので、ポントを押さえた箇所みにします。)
5
2
 
6
- 細かいツッコミですが、
7
- function R() にて、idに全角数字の「1」っていうのはタイプミスですかね。
8
- 送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。
9
- 少なくとも画像ファイルそのものではないですね。
10
-
11
- [[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
12
- 参考になれば。
13
-
14
3
  ---
15
4
 
16
5
  POSTで画像を送るときのnameが`'_img'`なのだとすると、
17
6
  受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
18
- `$_FILES['_img']['tmp_name']`に仮置きしているファイルがあります。
7
+ `$_FILES['_img']['tmp_name']`に仮置きしているファイルがあるはずです。
19
- (`$_FILES['_img']['type']`で画像とみなせるMIMEタイプが入っいるかの点検も必要かもしれません。)
8
+ [is_uploaded_file()](http://php.net/manual/ja/function.is-uploaded-file.php)に
20
-
21
- タベース上のテーブルで画像ファイルを格納するところがblob型であれば
9
+ アップロドされたファイルが存在するかを確認してから
10
+ [move_uploaded_file()](http://php.net/manual/ja/function.move-uploaded-file.php)にて
11
+ アップロードされたファイルを仮置きの場所から
12
+ プログラムでわかる場所(例えば`./temp/`とか)に一旦ファイルコピーをした後、
22
- `$img=file_get_contents($_FILES['_img']['tmp_name']);`
13
+ `$img=file_get_contents('./temp/' . $_FILES['_img']['tmp_name']);`
23
14
  じゃないかなぁと。
24
15
  `$stmt->bindParam(':i',$img);`
25
- で変数に格納しているデータを引き渡す必要もありますね。
16
+ で変数に格納しているデータを引き渡す必要もありますね。
17
+
18
+ これで画像ファイルを格納できないでしょうか。

4

見直し

2017/04/28 08:45

投稿

退会済みユーザー
answer CHANGED
@@ -20,4 +20,6 @@
20
20
 
21
21
  データベース上のテーブルで画像ファイルを格納するところがblob型であれば、
22
22
  `$img=file_get_contents($_FILES['_img']['tmp_name']);`
23
- じゃないかなぁと。
23
+ じゃないかなぁと。
24
+ `$stmt->bindParam(':i',$img);`
25
+ で変数に格納しているデータを引き渡す必要もありますね。

3

加筆修正

2017/04/28 08:33

投稿

退会済みユーザー
answer CHANGED
@@ -9,4 +9,15 @@
9
9
  少なくとも画像ファイルそのものではないですね。
10
10
 
11
11
  [[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
12
- 参考になれば。
12
+ 参考になれば。
13
+
14
+ ---
15
+
16
+ POSTで画像を送るときのnameが`'_img'`なのだとすると、
17
+ 受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
18
+ `$_FILES['_img']['tmp_name']`に仮置きしているファイルがあります。
19
+ (`$_FILES['_img']['type']`で画像とみなせるMIMEタイプが入っているかの点検も必要かもしれません。)
20
+
21
+ データベース上のテーブルで画像ファイルを格納するところがblob型であれば、
22
+ `$img=file_get_contents($_FILES['_img']['tmp_name']);`
23
+ じゃないかなぁと。

2

加筆修正

2017/04/28 08:11

投稿

退会済みユーザー
answer CHANGED
@@ -6,3 +6,7 @@
6
6
  細かいツッコミですが、
7
7
  function R() にて、idに全角数字の「1」っていうのはタイプミスですかね。
8
8
  送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。
9
+ 少なくとも画像ファイルそのものではないですね。
10
+
11
+ [[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
12
+ 参考になれば。

1

加筆修正

2017/04/28 06:18

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,8 @@
1
1
  画像を受信したときに一時ファイル置き場(?)に置かれ仮のファイル名がつけられますが、
2
2
  それを適切に後からwebから参照できる位置にファイルを移動して、
3
3
  そのファイル位置をデータベースに登録する必要があると思うのですが、
4
- 画像ファイルを受信したものをバイナリーデータのまま格納するつもりで居ますか?
4
+ 画像ファイルを受信したものをバイナリーデータのまま格納するつもりで居ますか?
5
+
6
+ 細かいツッコミですが、
7
+ function R() にて、idに全角数字の「1」っていうのはタイプミスですかね。
8
+ 送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。