回答編集履歴

8 見直し

退会済みユーザー

退会済みユーザー

2017/04/28 18:02  投稿

(マイナス評価をいただきましたので、ポイントを押さえた箇所のみにします。)
---
POSTで画像を送るときのnameが`'_img'`なのだとすると、
受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
`$_FILES['_img']['tmp_name']`に仮置きしているファイルがあるはずです。
[is_uploaded_file()](http://php.net/manual/ja/function.is-uploaded-file.php)にて
アップロードされたファイルが存在するかを確認してから、
`$img=file_get_contents($_FILES['_img']['tmp_name']);`
じゃないかなぁと。
`$stmt->bindParam(':i',$img);`
で変数に格納しているデータを引き渡す必要もありますね。
これで画像ファイルを格納できないでしょうか。
これで画像ファイルを格納できないでしょうか。
7 加筆修正

退会済みユーザー

退会済みユーザー

2017/04/28 17:51  投稿

(マイナス評価をいただきましたので、ポイントを押さえた箇所のみにします。)
---
POSTで画像を送るときのnameが`'_img'`なのだとすると、
受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
`$_FILES['_img']['tmp_name']`に仮置きしているファイルがあるはずです。
[is_uploaded_file()](http://php.net/manual/ja/function.is-uploaded-file.php)にて
アップロードされたファイルが存在するかを確認してから、
[move_uploaded_file()](http://php.net/manual/ja/function.move-uploaded-file.php)にて
アップロードされたファイルを仮置きの場所から
プログラムでわかる場所(例えば`./temp/`とか)に一旦ファイルコピーをした後、
`$img=file_get_contents('./temp/' . $_FILES['_img']['tmp_name']);`
`$img=file_get_contents($_FILES['_img']['tmp_name']);`
じゃないかなぁと。
`$stmt->bindParam(':i',$img);`
で変数に格納しているデータを引き渡す必要もありますね。
もちろん、格納が成功しても失敗しても、  
仮に`./temp/`に置いたファイルは削除しないとずっと残ってしまうため  
処理の最後に削除します。  
これで画像ファイルを格納できないでしょうか。
6 見直し

退会済みユーザー

退会済みユーザー

2017/04/28 17:46  投稿

(マイナス評価をいただきましたので、ポイントを押さえた箇所のみにします。)
---
POSTで画像を送るときのnameが`'_img'`なのだとすると、
受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
`$_FILES['_img']['tmp_name']`に仮置きしているファイルがあるはずです。
[is_uploaded_file()](http://php.net/manual/ja/function.is-uploaded-file.php)にて
アップロードされたファイルが存在するかを確認してから、
[move_uploaded_file()](http://php.net/manual/ja/function.move-uploaded-file.php)にて
アップロードされたファイルを仮置きの場所から
プログラムでわかる場所(例えば`./temp/`とか)に一旦ファイルコピーをした後、
`$img=file_get_contents('./temp/' . $_FILES['_img']['tmp_name']);`
じゃないかなぁと。
`$stmt->bindParam(':i',$img);`
で変数に格納しているデータを引き渡す必要もありますね。
もちろん、格納が成功しても失敗しても、  
仮に`./temp/`に置いたファイルは削除しないとずっと残ってしまうため  
処理の最後に削除します。  
これで画像ファイルを格納できないでしょうか。
5 見直し

退会済みユーザー

退会済みユーザー

2017/04/28 17:45  投稿

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

退会済みユーザー

退会済みユーザー

2017/04/28 17:33  投稿

画像を受信したときに一時ファイル置き場(?)に置かれ仮のファイル名がつけられますが、
それを適切に後からwebから参照できる位置にファイルを移動して、
そのファイル位置をデータベースに登録する必要があると思うのですが、
画像ファイルを受信したものをバイナリーデータのまま格納するつもりで居ますか?
細かいツッコミですが、
function R() にて、idに全角数字の「1」っていうのはタイプミスですかね。
送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。
少なくとも画像ファイルそのものではないですね。
[[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
参考になれば。
---
POSTで画像を送るときのnameが`'_img'`なのだとすると、
受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
`$_FILES['_img']['tmp_name']`に仮置きしているファイルがあります。
(`$_FILES['_img']['type']`で画像とみなせるMIMEタイプが入っているかの点検も必要かもしれません。)
データベース上のテーブルで画像ファイルを格納するところがblob型であれば、
`$img=file_get_contents($_FILES['_img']['tmp_name']);`
じゃないかなぁと。
じゃないかなぁと。
`$stmt->bindParam(':i',$img);`
で変数に格納しているデータを引き渡す必要もありますね。
3 加筆修正

退会済みユーザー

退会済みユーザー

2017/04/28 17:11  投稿

画像を受信したときに一時ファイル置き場(?)に置かれ仮のファイル名がつけられますが、
それを適切に後からwebから参照できる位置にファイルを移動して、
そのファイル位置をデータベースに登録する必要があると思うのですが、
画像ファイルを受信したものをバイナリーデータのまま格納するつもりで居ますか?
細かいツッコミですが、
function R() にて、idに全角数字の「1」っていうのはタイプミスですかね。
送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。
少なくとも画像ファイルそのものではないですね。
[[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
参考になれば。
参考になれば。
---
POSTで画像を送るときのnameが`'_img'`なのだとすると、
受信側phpで解釈するのに`$_FILES['_img']`でアクセスするので、
`$_FILES['_img']['tmp_name']`に仮置きしているファイルがあります。
(`$_FILES['_img']['type']`で画像とみなせるMIMEタイプが入っているかの点検も必要かもしれません。)
データベース上のテーブルで画像ファイルを格納するところがblob型であれば、
`$img=file_get_contents($_FILES['_img']['tmp_name']);`
じゃないかなぁと。
2 加筆修正

退会済みユーザー

退会済みユーザー

2017/04/28 15:18  投稿

画像を受信したときに一時ファイル置き場(?)に置かれ仮のファイル名がつけられますが、
それを適切に後からwebから参照できる位置にファイルを移動して、
そのファイル位置をデータベースに登録する必要があると思うのですが、
画像ファイルを受信したものをバイナリーデータのまま格納するつもりで居ますか?
細かいツッコミですが、
function R() にて、idに全角数字の「1」っていうのはタイプミスですかね。
送信しているのは、画像ファイルそのものではなく、何かのidとして数字を送っているのかな。
少なくとも画像ファイルそのものではないですね。
[[JavaScript] Ajaxでファイルをアップロード【jQuery不使用】 - Qiita](http://qiita.com/yasumodev/items/516de8445d254ab12cbf)
参考になれば。
1 加筆修正

退会済みユーザー

退会済みユーザー

2017/04/28 15:15  投稿

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る