老师好,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); } ?>
举报