您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php用gd库生成图片后上载有关问题

2024/12/6 16:26:44发布36次查看
php用gd库生成图片后下载问题
是这样的,我在用gd库生成图片后,不保存图片能直接下载吗? 试了一个早上还是不行…
image.php
//创建一个真彩画布
$image = imagecreatetruecolor(400,190);
//背景创建颜色
$green = imagecolorallocate($image,255,255,255);
//填充画布颜色
imagefill($image,0,0,$green);
//输出图片
header(content-type: image/jpeg);
imagejpeg($image);
//销毁资源
imagedestroy($image);
index.php

imagedown.php
if(isset($_get['filename'])){
//var_dump(getimagesize($_get['filename']));
download($_get['filename']);
}
function download($filename){
header(content-type: image/jpeg);
header('content-disposition: attachment; filename='.$filename.'');
header('content-length: '.filesize($filename));
readfile($filename);
}

------解决方案--------------------
不可以的,必须经过图片落地这一过程。php的gd库貌似不支持内存直接读取生成的图片内容,只能保存到本地再读取。
建议改写gd库,提供获取图片内容函数。
------解决方案--------------------
这样写download('x.jpg');
function image() {
//创建一个真彩画布
$image = imagecreatetruecolor(400,190);
//背景创建颜色
$green = imagecolorallocate($image,255,255,0);
//填充画布颜色
imagefill($image,0,0,$green);
//输出图片
//header(content-type: image/jpeg);
imagejpeg($image);
//销毁资源
imagedestroy($image);
}
function download($filename){
ob_start();
image();
$s = ob_get_clean();
header(content-type: image/jpeg);
header('content-disposition: attachment; filename='.$filename.'');
header('content-length: '.strlen($s));
echo $s;
}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product