【发布时间】:2019-02-02 15:21:27
【问题描述】:
我有一个要加载到验证码图像的.ttf 文件。但我的.ttf 只是不起作用。当我包含.ttf 文件时,图像无法加载并出现错误。
这是我的验证码:
<?php
session_start();
$md5_hash = md5(rand(0,999));
$captcha = substr($md5_hash, 16, 5);
$_SESSION["captcha"] = $captcha;
$width = 205;
$height = 60;
$image = imagecreate($width, $height);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$grey = imagecolorallocate($image, 204, 204, 204);
imagefill($image, 0, 0, $white);
$font = imageloadfont('Xeron.ttf');
imagestring($image, $font, 70, 20, $captcha, $black);
imagerectangle($image, 0, 0, $width-1, $height-1, $grey);
imageline($image, 0, $height/2, $width, $height/2, $grey);
imageline($image, $width/2, 0, $width/2, $height, $grey);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
?>
我是php新手,请帮忙..
编辑
我什至用以下代码尝试过,但我的图像仍然无法加载
$captcha_num = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz';
$captcha_num = substr(str_shuffle($captcha_num), 0, 6);
$_SESSION["code"] = $captcha_num;
$font_size = 30;
$img_width = 70;
$img_height = 40;
header('Content-type: image/jpeg');
$image = imagecreate($img_width, $img_height); // create background image with dimensions
imagecolorallocate($image, 255, 255, 255); // set background color
$text_color = imagecolorallocate($image, 0, 0, 0); // set captcha text color
imagettftext($image, $font_size, 0, 15, 30, $text_color, 'Xeron.ttf', $captcha_num);
imagejpeg($image);
【问题讨论】:
-
字体 xeron.ttf 的位置是什么??
-
它和我的 captcha.php 在同一个位置
-
ok.. 你用另一种 .ttf 字体试过了吗??
-
尝试将 'Xeron.ttf' 更改为 './Xeron.ttf' 以明确您想要当前工作目录。或指定完整路径。您的错误日志显示什么?仅供参考:stackoverflow.com/questions/1053424/…
-
@DrMJ 是的,我尝试过使用不同的 .ttf 文件。但它仍然没有加载。