可以使用imagestring()
函數生成隨機驗證碼,并使用imagecolorallocate()
函數為驗證碼添加顏色。
下面是一個示例代碼:
<?php
// 生成隨機驗證碼
$code = generateRandomCode(6);
// 創建一個寬度為 100px、高度為 30px 的圖像
$image = imagecreate(100, 30);
// 為圖像分配背景顏色
$backgroundColor = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $backgroundColor);
// 為驗證碼添加文字顏色
$textColor = imagecolorallocate($image, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
// 將驗證碼繪制到圖像上
imagestring($image, 5, 10, 8, $code, $textColor);
// 設置圖像的 MIME 類型為 image/png
header('Content-type: image/png');
// 輸出圖像
imagepng($image);
// 銷毀圖像資源
imagedestroy($image);
// 生成指定長度的隨機驗證碼
function generateRandomCode($length) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$code = '';
for ($i = 0; $i < $length; $i++) {
$code .= $characters[rand(0, strlen($characters) - 1)];
}
return $code;
}
?>
這段代碼會生成一個寬度為 100px、高度為 30px 的圖像,圖像背景為白色,驗證碼文字顏色為隨機生成的顏色。然后將圖像以 PNG 格式輸出。