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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
php使用正则过滤js脚本代码实例
May 10 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
php实现通过ftp上传文件
Jun 19 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
Jan 08 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 01 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删除HTMl标签的实现代码
2013/06/30 PHP
jQuery hover 延时器实现代码
2011/03/12 Javascript
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
jquery获取节点名称
2015/04/26 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
Python进程间通信Queue实例解析
2018/01/25 Python
Python多进程并发与多线程并发编程实例总结
2018/02/08 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
python3爬取torrent种子链接实例
2020/01/16 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
应届生法律求职信
2013/10/22 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python