回答編集履歴

8

見直し

2017/04/28 09:02

投稿

退会済みユーザー
test CHANGED
@@ -27,3 +27,5 @@
27
27
 
28
28
 
29
29
  これで画像ファイルを格納できないでしょうか。
30
+
31
+

7

加筆修正

2017/04/28 09:02

投稿

退会済みユーザー
test CHANGED
@@ -16,13 +16,7 @@
16
16
 
17
17
  アップロードされたファイルが存在するかを確認してから、
18
18
 
19
- [move_uploaded_file()](http://php.net/manual/ja/function.move-uploaded-file.php)にて
20
-
21
- アップロードされたファイルを仮置きの場所から
22
-
23
- プログラムでわかる場所(例えば`./temp/`とか)に一旦ファイルコピーをした後、
24
-
25
- `$img=file_get_contents('./temp/' . $_FILES['_img']['tmp_name']);`
19
+ `$img=file_get_contents($_FILES['_img']['tmp_name']);`
26
20
 
27
21
  じゃないかなぁと。
28
22
 
@@ -30,12 +24,6 @@
30
24
 
31
25
  で変数に格納しているデータを引き渡す必要もありますね。
32
26
 
33
- もちろん、格納が成功しても失敗しても、
34
-
35
- 仮に`./temp/`に置いたファイルは削除しないとずっと残ってしまうため
36
-
37
- 処理の最後に削除します。
38
-
39
27
 
40
28
 
41
29
  これで画像ファイルを格納できないでしょうか。

6

見直し

2017/04/28 08:51

投稿

退会済みユーザー
test CHANGED
@@ -30,6 +30,12 @@
30
30
 
31
31
  で変数に格納しているデータを引き渡す必要もありますね。
32
32
 
33
+ もちろん、格納が成功しても失敗しても、
34
+
35
+ 仮に`./temp/`に置いたファイルは削除しないとずっと残ってしまうため
36
+
37
+ 処理の最後に削除します。
38
+
33
39
 
34
40
 
35
41
  これで画像ファイルを格納できないでしょうか。

5

見直し

2017/04/28 08:46

投稿

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

4

見直し

2017/04/28 08:45

投稿

退会済みユーザー
test CHANGED
@@ -43,3 +43,7 @@
43
43
  `$img=file_get_contents($_FILES['_img']['tmp_name']);`
44
44
 
45
45
  じゃないかなぁと。
46
+
47
+ `$stmt->bindParam(':i',$img);`
48
+
49
+ で変数に格納しているデータを引き渡す必要もありますね。

3

加筆修正

2017/04/28 08:33

投稿

退会済みユーザー
test CHANGED
@@ -21,3 +21,25 @@
21
21
  [[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
22
22
 
23
23
  参考になれば。
24
+
25
+
26
+
27
+ ---
28
+
29
+
30
+
31
+ POSTで画像を送るときのnameが`'_img'`なのだとすると、
32
+
33
+ 受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
34
+
35
+ `$_FILES['_img']['tmp_name']`に仮置きしているファイルがあります。
36
+
37
+ (`$_FILES['_img']['type']`で画像とみなせるMIMEタイプが入っているかの点検も必要かもしれません。)
38
+
39
+
40
+
41
+ データベース上のテーブルで画像ファイルを格納するところがblob型であれば、
42
+
43
+ `$img=file_get_contents($_FILES['_img']['tmp_name']);`
44
+
45
+ じゃないかなぁと。

2

加筆修正

2017/04/28 08:11

投稿

退会済みユーザー
test CHANGED
@@ -14,4 +14,10 @@
14
14
 
15
15
  送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。
16
16
 
17
+ 少なくとも画像ファイルそのものではないですね。
17
18
 
19
+
20
+
21
+ [[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
22
+
23
+ 参考になれば。

1

加筆修正

2017/04/28 06:18

投稿

退会済みユーザー
test CHANGED
@@ -5,3 +5,13 @@
5
5
  そのファイル位置をデータベースに登録する必要があると思うのですが、
6
6
 
7
7
  画像ファイルを受信したものをバイナリーデータのまま格納するつもりで居ますか?
8
+
9
+
10
+
11
+ 細かいツッコミですが、
12
+
13
+ function R() にて、idに全角数字の「1」っていうのはタイプミスですかね。
14
+
15
+ 送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。
16
+
17
+