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 var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
PHP中PDO的错误处理
Sep 04 PHP
php 发送带附件邮件示例
Jan 23 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 PHP
怎样搭建PHP开发环境
Jul 28 PHP
php 问卷调查结果统计
Oct 08 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 PHP
用php如何解决大文件分片上传问题
Jul 07 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 全角转半角实现代码
2010/05/16 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
jQuery之日期选择器的深入解析
2013/06/19 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
jquery获取节点名称
2015/04/26 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python 用下标截取字符串的实例
2018/12/25 Python
Django实现文件上传下载功能
2019/10/06 Python
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
文员个人求职自荐信
2013/09/21 职场文书
医院后勤自我鉴定
2013/10/13 职场文书
初中女生自我鉴定
2013/12/19 职场文书
珍珠鸟教学反思
2014/02/01 职场文书
亲子拓展活动方案
2014/02/20 职场文书
保险公司晨会主持词
2014/03/22 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
小学生校园广播稿
2014/09/28 职场文书
孔子观后感
2015/06/08 职场文书
简爱读书笔记
2015/06/26 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers