GoB*_*oBo 3 cakephp blob file-upload cakephp-3.0
我知道将文件存储在数据库中有点脏,但是我需要将文件上传并存储到数据库BLOB中,但是我没有找到任何有关它的文档,也没有任何线索,因此有关将不胜感激。
预先感谢大卫
您不需要做任何特别的事情,只需将要存储的数据设置为适当的实体属性(分别为数组键)即可,可以是字符串,也可以是流。
BLOB列将自动与\Cake\Database\Type\BinaryType数据库类型相关联,其中将处理存储/读取二进制数据所需的一切。
这是一个抽象示例,显示了可能的用例
$data = [
'file_a' => file_get_contents('path/to/file.ext'),
'file_b' => fopen('path/to/file.ext', 'r'),
'file_c' => 'foo bar baz'
];
$entity = $Table->newEntity($data);
$Table->save($entity);
Run Code Online (Sandbox Code Playgroud)
读取实体将始终将数据作为流保存,因此您可以将它们与Filesystem和Stream函数一起使用,例如
$handle = $Table->get(1)->file_a;
while (!feof($handle)) {
echo fread($handle, 8192);
}
Run Code Online (Sandbox Code Playgroud)
echo stream_get_contents($Table->get(1)->file_a);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2606 次 |
| 最近记录: |