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 相关文章推荐
玩转图像函数库―常见图形操作
Sep 03 PHP
PHP中显示格式化的用户输入
Oct 09 PHP
PHP 高手之路(三)
Oct 09 PHP
PHP音乐采集(部分代码)
Feb 14 PHP
php 文件状态缓存带来的问题
Dec 14 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 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
php简单smarty入门程序实例
2015/06/11 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
js function定义函数使用心得
2010/04/15 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
Python 可爱的大小写
2008/09/06 Python
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
python生成式的send()方法(详解)
2017/05/08 Python
浅析python协程相关概念
2018/01/20 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
python远程邮件控制电脑升级版
2019/05/23 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
介绍一下Make? 为什么使用make
2013/12/08 面试题
总经理2015中秋节致辞
2015/07/29 职场文书
mysql 生成连续日期及变量赋值
2022/03/20 MySQL