sqlite - php读取远程图片保存到本地

 O臭煊儿O 发布于 2022-11-20 06:44
$handle = fopen('http://...图片地址', 'r');
$content = '';
while(!feof($handle)){
    $content .= fread($handle, 8080);
}
fclose($handle);
$sql = "INSERT INTO chat_msg (data) VALUES('$content')";

上文代码insert的时候不能保存。

7 个回答
  • 依照上面的代码$content是二进制文件了,strlen长度估计都要超2万了,估计超出你数据库插入字段的限制了吧.
    我觉得你应该是先把图片下载保存到本地,数据库只要存储图片路径就行.暂时没见到直接把文件放到数据的做法.

    2022-11-20 07:10 回答
  • 数据库存储图片不都是存储一个图片地址吗???

    2022-11-20 07:10 回答
  • 可能是你$content的大小超出了data字段设置(或默认)的大小

    2022-11-20 07:10 回答
  • 要使用二进制存储

    2022-11-20 07:10 回答
  • 为什么要存图片,不存地址呢

    2022-11-20 07:10 回答
  • 你确定要存成base64.....
    你说的本地应该是存在某个文件夹吧
    直接用write

    2022-11-20 07:10 回答
  • 我擦,你这种写法我不得不说很SB。
    请别生气,听我慢慢道来。

    $data = file_get_contents('图片网址');
    file_put_contents('图片存储的路径和文件名');// 如file_put_contents('./download/test.jpg',$data);
    //然后,数据库存储这个图片的存储地址就可以了,例如:
    $sql = "INSERT INTO chat_msg (data) VALUES('download/test.jpg')";

    当然,这个文件名每存储一个文件的文件名是不一样的,你自己想办法进行命名,这个我就不多做解释。

    2022-11-20 07:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有