对于初学者,我使用以下内容:
GD创建iamge
我可以获取以前存在的文件,将文本添加到该文件并输出到浏览器。
创建图像时,我使用的是非常基本的示例脚本:
我将代码修改为以下内容:似乎运行速度更快,更易于阅读。然而,创建了一个实际文件,而我更喜欢一个临时文件,我可以在之后销毁或只是使用二进制数据。是否有类似于imagegif()的二进制输出函数?
$photo = imagecreatefromgif('sample.gif');
imagealphablending($photo, true);
$fontsize = 20;
$font = '../times.ttf';
$fontcolor = imagecolorallocate($photo, 0, 0, 0);
$angle = 0;
$x = 100;
$y = 100;
$text = 'THIS IS A BLOB OF TEXT YO!';
imagettftext($photo, $fontsize, $angle, $x, $y, $fontcolor, $font, $text);
imagegif($photo, 'test.gif');
不幸的是,这需要将我的文件输出到浏览器,然后继续执行脚本的其余部分并发送电子邮件(没有嵌入的图像)。
我知道我可能错过了一些简单的事情但是之前有人遇到过这个问题吗?
答案 0 :(得分:1)
首先你需要a)使用imagegif函数的第二个参数将图像保存到临时文件中; b)使用PHP输出缓冲来捕获发送到输出的结果并从响应中清除它(参见http://php.net/ob)。
之后您需要知道如何将图像作为附件嵌入到电子邮件信函中,或将其复制为可用http地址的真实文件,并将<img href=""/>
指向它。