###前提・実現したいこと
環境は下記の通りです。
OS AmazonLinux
cakePHP3.3.16
PHP7.0.16
DB mysql5.6.35
実現したい事はタイトルの通りになります。
詳しくはソースコードに記載します。
###発生している問題・エラーメッセージ
実行結果は特にブラウザ上でエラーが返されることはなく、正常終了の動きをします。
しかしDBの当該カラムはnull、つまり更新されていない状態です。
500kb程度のxlsxファイルやPDFファイルなどで試しましたがすべて同じ結果でした。
###該当のソースコード
当該カラムの定義
Field | Type | Null | Default |
---|---|---|---|
hoge_file | mediumblob | YES | NULL |
hoge_file_name | varchar(255) | YES | NULL |
hoge_file_type | varchar(255) | YES | NULL |
hoge_file_size | int(11) | YES | NULL |
Controllerのソース
php
1$hoge = $this->Hoges->patchEntity($hoge, $this->request->data); 2 3$hoge['hoge_file_name'] = $this->request->data['file']['name']; 4$hoge['hoge_file_type'] = $this->request->data['file']['type']; 5$hoge['hoge_file_size'] = $this->request->data['file']['size']; 6 7$hoge['hoge_file'] = file_get_contents($this->request->data['file']['tmp_name']); 8 9$this->Hoges->save($hoge)
View(TemplateのCTP)のソース
HTML
1<?= $this->Form->create($hoge, ['type' => 'file']) ?> 2<div><p><?= $this->Form->file('file') ?></p></div> 3<div><?= $this->Form->button('アップロード', ['type' => 'submit','id' => 'register']) ?></div> 4<?= $this->Form->end() ?>
###試したこと
request->dataを$hogeにセットするところでログを出力した結果は下記になります。
2017-05-17 10:11:41 Info: file.tmp_name:/tmp/phpi7WVzZ
2017-05-17 10:11:41 Info: file.name:0005.JPG
2017-05-17 10:11:41 Info: file.type:image/jpeg
2017-05-17 10:11:41 Info: file.size:452949
ローカルのWindows環境ではDB(Windows上のmysql)に登録できたのですが、
サーバにデプロイしたところ、上記のような状況になりました。
ご協力宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー