老师好,image.func.php中的方法,我直接在这个文件中调用封装方法,显示没问题。
但是放在getVerify.php中调用
<?php
require_once '../lib/image.func.php';
verifyImage(1,4,10,2);
图片就显示不出来了。
session_start();只调用了一次。
老师好,image.func.php中的方法,我直接在这个文件中调用封装方法,显示没问题。
但是放在getVerify.php中调用
<?php
require_once '../lib/image.func.php';
verifyImage(1,4,10,2);
图片就显示不出来了。
session_start();只调用了一次。
2014-10-30
老师,这两个我刚在php.ini里面配置了,重启服务器后还是不行。挺奇怪的,方法肯定没问题,不然直接调用image.func.php不会显示。 我粘贴下我的代码吧。麻烦老师了。环境php5.3.10,mysql5.5.20,apache5.2.21
getVerify.php:
<?php
require_once '../lib/image.func.php';// ('../include.php');
verifyImage(1,4,10,2);
?>
<?php
require_once 'string.func.php';
function verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name="verify"){
session_start();
$width=80;
$height =30;
$image = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 1, 1, $width-2, $height-2, $white);
$chars = buildRandomString($type,$length);
$_SESSION[$sess_name]=$chars;
$fontfiles=array("MSYH.TTF","MSYHBD.TTF","SIMKAI.TTF","SIMSUN.TTC","STFANGSO.TTF","SURSONG.TTF");
for($i=0;$i<$length;$i++){
$size=mt_rand(14, 18);
$angle = mt_rand(-15, 15);
$x=5+$i*$size;
$y=mt_rand(20, 26);
$fontfile = "../fonts/".$fontfiles[mt_rand(0, count($fontfiles)-1)];
$color =imagecolorallocate($image, mt_rand(50, 90), mt_rand(80, 200), mt_rand(90, 180));
$text = substr($chars, $i,1);
imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text);
}
if($pixel){
for($i=0;$i<$pixel;$i++){
imagesetpixel($image, mt_rand(0, $width-1), mt_rand(0, $height-1), $black);
}
}
if($line){
for($i=0;$i<$line;$i++){
imageline($image, mt_rand(0, $width-1), mt_rand(0, $height-1), mt_rand(0, $width-1), mt_rand(0, $height-1), $black);
}
}
header("content-type:image/gif");
imagegif($image);
imagedestroy($image);
}
?>举报