[英]How can I add an image map to dynamically created chart of PHP gd library?
[英]In PHP, how do I use the GD library created image directly on my website
我不确定我是否完全理解它的工作原理。 对于网站表单,我想生成一个随机的验证码图像,并将其与表单一起显示。 因此,理想情况下,我希望遵循以下思路:
<form action="post.php" method="post">
...
<?php create_captcha(); ?>
</form>
虽然我确实有一个在PHP中创建图像资源的函数( link )
function create_captcha() {
$w = 60; $h = 30;
$img = imagecreatetruecolor($w, $h);
...
//header("Content-Type: image/jpeg");
imagejpeg($img);
}
我不太清楚如何将图像作为HTML表单的一部分直接输出到网站上。 我怀疑我必须将其保存到临时文件captcha.jpg
,然后在网站中生成<img src="captcha.jpg" />
。
有没有不使用临时图像的更优雅的方法?
使用您的验证码生成文件路径作为IMG标签的来源
<img src="http://domain.com/your-captcha_generating-file-path" />
您可以执行以下操作:
function getCaptcha() {
// Begin output buffering
ob_start();
// generate the captcha image in some magic way
$w = 60; $h = 30;
$img = imagecreatetruecolor($w, $h);
imagejpeg($img);
// and finally retrieve the byte stream
$rawImageBytes = ob_get_clean();
return "<img src='data:image/jpeg;base64," . base64_encode( $rawImageBytes ) . "' />";
}
通过在img标签中使用Base64编码的数据源,您将根本不需要存储任何临时文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.