错误信息提示:
错误号:12142

错误原因:

错误SQL语句:
select * from user_skin where  find_in_set('sysai.net',replace(host,'|',','))

Warning: fopen(/error/2025-06-27.txt): failed to open stream: No such file or directory in /opt/lampp/htdocs/sysai/inc/datai.php on line 247
文件 2025-06-27.txt 不可写

sysai
『 자료실 』
현재위치 : HOME > 자료실
文字转化为图片
글쓴이 : 매니저 작성일 : 2011-04-12

这个代码适用于验证码、给图片加水印等功能。
/*
Photozero.net 改编自PHP参考文档
*/

//设置Header,如果输出图片不成功,请先暂时去掉这代码,查看错误信息
header("Content-type: image/png");
header("Cache-Control: no-cache");

$zh_text = '天王府网络系统';
$en_text = 'www.tianwangfu.com';

//要输出的字
$zh_font = 'simhei.ttf';
$en_font = 'arial.ttf';

//字库的文件名。建议中文字体和E文字体用不一样的,因为宋体、黑体字库里的英文实在不咋滴
//这里用的都是TTF字体。懒得上网找就到 C:WINDOWSFonts 下,Copy几个字体到程序目录下就好了
// 创建一个真彩的图片背景,参数是 X长 ,Y宽。
$im = imagecreatetruecolor(400, 400);

//或者可以调用已有的PNG图片等 : $im = imagecreatefrompng('background.png');
// 定义几个色彩
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);

//填充背景为白色
imagefill($im, 0, 0, $white);

//将背景透明化
imagecolortransparent($im,$white);

//以上两行是创建透明图片的关键!
//很多人反应, imagecreatetruecolor创建后的图片,背景颜色是黑的,无论怎么修改都不能变成白色的
//我先将背景填充为白色,再做透明处理就可以了!在Firefox3和IE7下测试成功!
// 这是一个很简单的产生阴影的效果。
//先在原本要输出的位置的偏左下角一点点输出灰色的字体,接着再用黑色字体写上去就有阴影效果了
//下次再提供点别的花样~
//imagettftext($im, 20, 0, 11, 21, $grey, $en_font, $en_text);

// 写入字体
imagettftext($im, 12, 0, 100, 120, $black, $en_font, $en_text);
imagepng($im);
imagedestroy($im);

// 不用说了,输出图片,然后清除缓存
//函数都是用PHP内置的,如果有不了解的请参考一下文档。
?>


整个代码的功能是比较单一的,但这是一个创建图片比较基本的 框架。无论是做验证码还是要提供显示IP的服务,只要略微修改就很快能用了。

思路2
$s = '000000'; // 这是我们要写的文字
disconnect_db();
header("content-type:image/gif");
$nimage=imagecreatetruecolor(88,22); // 新建一个图片宽 88 高 22 像素
$black=imagecolorallocate($nimage,115,115,115); // 取得文字颜色, RGB
$simage =imagecreatefromgif('counter.gif'); // 读取我们的背景图片(自己建立吧 )
imagecopy($nimage,$simage,0,0,0,0,88,22); // 把背景图片 copy 到我们要输出的图片上
imagestring($nimage,3,30,2,$s,$black); // 写上需要的文字
//imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 座标处(图像的左上角为 0, 0)。
//如果 font 是 1,2,3,4 或 5,则使用内置字体。
imagegif($nimage); // 输出 GIF 图片内容
imagedestroy($nimage);imagedestroy($simage); // 关闭之前使用的图片缓冲
?>


思路3
/*
* 功能:PHP图片水印 (水印支持图片或文字)
* 参数:
* $groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterPos 水印位置,有10种状态,0为随机位置;
* 1为顶端居左,2为顶端居中,3为顶端居右;
* 4为中部居左,5为中部居中,6为中部居右;
* 7为底端居左,8为底端居中,9为底端居右;
* $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
* $fontSize 文字大小,值为1、2、3、4或5,默认为5;
* $textColor 文字颜色,值为十六进制颜色值,默认为#CCCCCC(白灰色);
* $fontfile ttf字体文件,即用来设置文字水印的字体。使用windows的用户在系统盘的目录中
* 搜索*.ttf可以得到系统中安装的字体文件,将所要的文件拷到网站合适的目录中,
* 默认是当前目录下arial.ttf。
* $xOffset 水平偏移量,即在默认水印坐标值基础上加上这个值,默认为0,如果你想留给水印留
* 出水平方向上的边距,可以设置这个值,如:2 则表示在默认的基础上向右移2个单位,-2 表示向左移两单位
* $yOffset 垂直偏移量,即在默认水印坐标值基础上加上这个值,默认为0,如果你想留给水印留
* 出垂直方向上的边距,可以设置这个值,如:2 则表示在默认的基础上向下移2个单位,-2 表示向上移两单位
* 返回值:
* 0 水印成功
* 1 水印图片格式目前不支持
* 2 要水印的背景图片不存在
* 3 需要加水印的图片的长度或宽度比水印图片或文字区域还小,无法生成水印
* 4 字体文件不存在
* 5 水印文字颜色格式不正确
* 6 水印背景图片格式目前不支持
* 修改记录:

* 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG
* $waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。
* 当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。
* 加水印后的图片的文件名和 $groundImage 一样。
* 作者:高西林
* 日期:2007-4-28
* 说明:本程序根据longware的程序改写而成。
*/
function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$fontSize=12,$textColor="#CCCCCC", $fontfile='./arial.ttf',$xOffset=0,$yOffset=0)
{
$isWaterImage = FALSE;
//读取水印文件
if(!empty($waterImage) && file_exists($waterImage)) {
$isWaterImage = TRUE;
$water_info = getimagesize($waterImage);
$water_w = $water_info[0];//取得水印图片的宽
$water_h = $water_info[1];//取得水印图片的高

switch($water_info[2]) { //取得水印图片的格式 
case 1:$water_im = imagecreatefromgif($waterImage);break;
case 2:$water_im = imagecreatefromjpeg($waterImage);break;
case 3:$water_im = imagecreatefrompng($waterImage);break;
default:return 1;
}
}

//读取背景图片
if(!empty($groundImage) && file_exists($groundImage)) {
$ground_info = getimagesize($groundImage);
$ground_w = $ground_info[0];//取得背景图片的宽
$ground_h = $ground_info[1];//取得背景图片的高

switch($ground_info[2]) { //取得背景图片的格式 
case 1:$ground_im = imagecreatefromgif($groundImage);break;
case 2:$ground_im = imagecreatefromjpeg($groundImage);break;
case 3:$ground_im = imagecreatefrompng($groundImage);break;
default:return 1;
}
} else {
return 2;
}

//水印位置
if($isWaterImage) { //图片水印 
$w = $water_w;
$h = $water_h;
$label = "图片的";
} else { 
//文字水印
if(!file_exists($fontfile))return 4;
$temp = imagettfbbox($fontSize,0,$fontfile,$waterText);//取得使用 TrueType 字体的文本的范围
$w = $temp[2] - $temp[6];
$h = $temp[3] - $temp[7];
unset($temp);
}
if( ($ground_w < $w) || ($ground_h < $h) ) {
return 3;
}
switch($waterPos) {
case 0://随机
$posX = rand(0,($ground_w - $w));
$posY = rand(0,($ground_h - $h));
break;
case 1://1为顶端居左
$posX = 0;
$posY = 0;
break;
case 2://2为顶端居中
$posX = ($ground_w - $w) / 2;
$posY = 0;
break;
case 3://3为顶端居右
$posX = $ground_w - $w;
$posY = 0;
break;
case 4://4为中部居左
$posX = 0;
$posY = ($ground_h - $h) / 2;
break;
case 5://5为中部居中
$posX = ($ground_w - $w) / 2;
$posY = ($ground_h - $h) / 2;
break;
case 6://6为中部居右
$posX = $ground_w - $w;
$posY = ($ground_h - $h) / 2;
break;
case 7://7为底端居左
$posX = 0;
$posY = $ground_h - $h;
break;
case 8://8为底端居中
$posX = ($ground_w - $w) / 2;
$posY = $ground_h - $h;
break;
case 9://9为底端居右
$posX = $ground_w - $w;
$posY = $ground_h - $h;
break;
default://随机
$posX = rand(0,($ground_w - $w));
$posY = rand(0,($ground_h - $h));
break; 
}

//设定图像的混色模式
imagealphablending($ground_im, true);

if($isWaterImage) { //图片水印
imagecopy($ground_im, $water_im, $posX + $xOffset, $posY + $yOffset, 0, 0, $water_w,$water_h);//拷贝水印到目标文件 
} else {//文字水印
if( !empty($textColor) && (strlen($textColor)==7) ) {
$R = hexdec(substr($textColor,1,2));
$G = hexdec(substr($textColor,3,2));
$B = hexdec(substr($textColor,5));
} else {
return 5;
}
imagettftext ( $ground_im, $fontSize, 0, $posX + $xOffset, $posY + $h + $yOffset, imagecolorallocate($ground_im, $R, $G, $B), $fontfile, $waterText);
}

//生成水印后的图片
@unlink($groundImage);
switch($ground_info[2]) {//取得背景图片的格式
case 1:imagegif($ground_im,$groundImage);break;
case 2:imagejpeg($ground_im,$groundImage);break;
case 3:imagepng($ground_im,$groundImage);break;
default: return 6;
}

//释放内存
if(isset($water_info)) unset($water_info);
if(isset($water_im)) imagedestroy($water_im);
unset($ground_info);
imagedestroy($ground_im);
//
return 0;
}
?>
//////////////////////
if(isset($_POST['submit']))
{

if(isset($_FILES) && !empty($_FILES['userfile']) && $_FILES['userfile']['size']>0)
{
$uploadfile = "./".time()."_".$_FILES['userfile']['name'];
if (copy($_FILES['userfile']['tmp_name'], $uploadfile))
{
if($_POST['watertype'] == 0)
{
$msg = "returnvalue=".imageWaterMark($uploadfile,$_POST['waterpos'],"",$_POST['watercontent'],$_POST['fontsize'],$_POST['fontcolor'],$_POST['fontfile'],$_POST['xoffset'],$_POST['yoffset']);
}
else
{
$msg = "returnvalue=".imageWaterMark($uploadfile,$_POST['waterpos'],$_POST['watercontent']);
}
echo "";
}
else
{
$msg = "Fail!";
}
}
}
?>



水印函数测试

































文字水印  水印图片
水印文字内容或水印图片文件名
文字水印颜色
文字字体大小
文字字体文件ttf格式
水印位置 0为随机,其他位置值如下:
















1 2 3
4 5 6
7 8 9

x方向上的偏移量    y方向上的偏移量
背景图片:
消息:



목록


홈으로 | 이용안내 | 이용약관 | 개인정보보호정책 | 제휴문의 | 질문과답변 | 자주하는 질문
Copyright © 2011 - 2014 SYSAI Work Group, All Rights Reserved 주소:길림성연길시,우편:133300 Version 3.0 Run Time 0.212s