php使用ob_start()实现图片存入变量的方法


Posted in PHP onNovember 14, 2014

本文实例讲述了php使用ob_start()实现图片存入变量的方法。分享给大家供大家参考。具体实现方法如下:

用php的GD库处理完图片后,只能将图片用imagejpeg()输出,或者写入一个文件。很多时候并不需要这么做。比如要将图片存入数据库就需要把图片写入变量保存,用 ob_start() 启用缓存 ob_get_contents()获取缓存就可以将图片写入变量

<?php

$imgPath ="图片地址" ;

//获得图片信息 $imgPath 可以为远程地址

list( $srcWidth, $srcHeight, $type ) = getimagesize( $imgPath );

...

switch( $type ) {

case 1: $imgCreate = 'ImageCreateFromGIF'; break;

case 2: $imgCreate = 'ImageCreateFromJPEG'; break;

case 3: $imgCreate = 'ImageCreateFromPNG'; break;

default: return false;

}

$orig = $imgCreate( $imgPath );

...

//开启缓存

ob_start();

//生成图片

switch ($type)

{

case 1: imagegif($orig); break;

case 2: imagejpeg($orig); break; // best quality

case 3: imagepng($orig); break; // no compression

default: echo ''; break;

}

//将图片存入变量

$imageCode = ob_get_contents();

ob_end_clean();

个人不建义把图片保存在变量,这样会比较浪费资源 ,这里也是测试一下而已。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
Jul 14 PHP
PHP性能优化 产生高度优化代码
Jul 22 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
php-perl哈希算法实现(times33哈希算法)
Dec 30 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
PHP代码加密的方法总结
Mar 13 PHP
thinkphp 获取控制器及控制器方法
Apr 16 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 #PHP
php获取url参数方法总结
Nov 13 #PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 #PHP
php数组保存文本与文本反编成数组实例
Nov 13 #PHP
php一维二维数组键排序方法实例总结
Nov 13 #PHP
php生成随机颜色的方法
Nov 13 #PHP
javascript some()函数用法详解
Nov 13 #PHP
You might like
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
PHP 选项及相关信息函数库
2006/12/04 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
Javascript倒计时代码
2010/08/12 Javascript
js类型检查实现代码
2010/10/29 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
Vue精简版风格概述
2018/01/30 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
vue配置接口域名方法总结
2019/05/12 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
pymysql模块使用简介与示例
2020/11/17 Python
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
记者岗位职责
2014/01/06 职场文书
老师对学生的寄语
2014/04/09 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
护理工作个人总结
2015/03/03 职场文书
background-position百分比原理详解
2021/05/08 HTML / CSS
MySQL分区表实现按月份归类
2021/11/01 MySQL
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS