php抓取网页数据插入数据库( 百度开发者的云代码空间为了保证高可用,不允许用户将图片保存到数据库)
优采云 发布时间: 2021-09-10 13:09php抓取网页数据插入数据库(
百度开发者的云代码空间为了保证高可用,不允许用户将图片保存到数据库)
为了保证高可用,百度开发者的云代码空间不允许用户在代码空间保存图片。使用CDN或者对象存储不仅收费而且使用起来比较复杂,所以考虑
考虑img能否存入数据库,虽然很多人说会造成性能问题,但还是要试一试。
1、准备三个文件
第一个用于将图片存储为数据库字符,第二个php文件用于获取数据库字符并生成图片,第三个是文件1中使用的图片。
2、数据库设计
超长字符串或二进制数据可以用TEXT(65535),BLOB(64k)分别保存,但是如果尝试用二进制保存失败,会用TEXT保存,但是一块多500 KB
图片经过base64加密后的字符长度为75万!
只有一个TEXT不能保存,应该也会造成严重的性能问题,所以分N份保存,这里以50000字符为单位。记录
imgid,方便拼接。
3、保存图片到数据库[dm01_imgTobase64.php]
<p>/*链接数据库*/
// 1.转为普通字符
$file = file_get_contents('test.jpg');
$base64_str = base64_encode($file);
$len = strlen($base64_str);
$step = ceil($len/50000);
for ($i=0; $i