php图片转为二进制数据的方法
Song •
1309 次浏览 •
0个评论 •
2023年10月23日
在 mysql 数据库中是无法直接存放图片文件的,但如果将图片通过 php 程序转换成二进制数据就可以很轻松的存放到数据库中了。那么这篇文章就说一下,利用 php 将图片文件转换二进制数据的方法。
php 图片转二进制数据的方法
方法1:
php fread() 函数读取打开的文件(二进制的方法)
示例代码:
<?php
$img = 'feiniaomy.jpg'; // 图片的存放在地址
$fp = fopen($img, 'rb'); // 打开图片
$content = fread($fp, filesize($img));//二进制数据
echo $content; //输出二进制数据
//这里输出到浏览器的是乱码
?>
方法二:
php file_get_contents() 读取图片,转为二进制数据
示例代码:
<?php
$img = 'xx.jpg'; //图片的地址
echo file_get_contents($img);
//这里输出到浏览器的是乱码
?>
php 输出二进制图片的方法
php 向浏览器输出二制的图片,只需要加个 header 头来声明一下图片类型即可!
例:
<?php
//声明为图片类型,发送header头
header( "Content-type: image/jpeg");
$img = 'xx.jpg';
$size = filesize($img );
$fp= fopen($img, 'r');
$data = fread($fp, $size);//二进制数据
echo $data; //输出图片的二进制数据
?>
注:
发送的 header 要根据具体情况而定,不一定都是image/jpeg。JPG格式的图片就是image/jpeg,但PNG格式的图片有可能需要声明为 image/png,实际应用中个人应当测试一下。
更多相关好文
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
热门文章
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
-
electron安装使用better-sqlite3并解决NODE_MODULE_VERSION xxx. This version of Node.js requires 2024-11-06
-
Zerotier+Moon+Nginx实现内网穿透搭建网站 2024-08-23
Laravel模型更新全表如何实现?