我想在PHP的sqlite3数据库中插入一个(任意大)上传的文件。
通常,我会使用file_get_contents()该字符串,然后将其放入SQL命令,但随后遇到128MB的内存限制。
根据这个讨论线程,似乎也没有简单的命令行解决方案。(但是,当然我很乐意听到其他情况。)
如何在不耗尽内存的情况下读取/写入单个BLOB字段?
从sqlite 3.8.6开始,readfile / writefile命令可用:
http://www.sqlite.org/cli.html#fileio
读取文件:
CREATE TABLE images(name TEXT, type TEXT, img BLOB);
INSERT INTO images(name,type,img) VALUES('icon','jpeg',readfile('icon.jpg'));
Run Code Online (Sandbox Code Playgroud)
写一个文件:
SELECT writefile('icon.jpg',img) FROM images WHERE name='icon';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1779 次 |
| 最近记录: |