php ʹÓÃGD¿âÉú³ÉÑéÖ¤Âë
GD¿âÊÇPHP½øÐÐͼÏó²Ù×÷Ò»¸öºÜÇ¿´óµÄ¿â¡£
ÏÈÔÚphp.iniÀïÔö¼ÓÒ»ÐÐÒýÓãºextension=php_gd2.dll
ÖØÆôapache¡£×öÒ»¸ö²âÊÔÒ³ var_dump(gd_info());Êä³öÊý¾Ý±íÃ÷GD¿âÒýÓóɹ¦¡£
±íµ¥auth.html
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>ÑéÖ¤Âë</title>
</head>
<body>
<h1>ÇëÊäÈëÑéÖ¤Âë</h1>
<form action="check_auth.php" method="post">
<input name="auth" type="text">
<img src="auth.php" border="0" />
<input type="submit" value="Ìá½»">
</form>
</body>
</html>
Éú³ÉÑéÖ¤Âë auth.php
<?php
session_start();
header("Content-type:image/png");
$img_width=100;
$img_height=20;
srand(microtime()*100000);
for($i=0;$i<4;$i++)
{
$new_number.=dechex(rand(0,15));
}
$_SESSION[check_auth]=$new_number;
$new_number=imageCreate($img_width,$img_height);//´´½¨Í¼Ïó
ImageColorAllocate($new_number,255,255,255); //ÉèÖñ³¾°É«Îª°×É«
for($i=0;$i<strlen($_SESSION[check_auth]);$i++)
{
$font=mt_rand(3,5);
$x=mt_rand(1,8) + $img_width*$i/4;
$y=mt_rand(1,$img_height/4);
$color=imageColorAllocate($new_number,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));//ÉèÖÃ×Ö·ûÑÕÉ«
imageString($new_number,$font,$x,$y,$_SESSION[check_auth][$i],$color);//Êä³ö×Ö·û
}
ImagePng($new_number);
&nb
Ïà¹ØÎĵµ£º
ÿһÖÖÓïÑÔ¶¼ÓÐ×Ô¼ºµÄ×Ô¶¯À¬»ø»ØÊÕ»úÖÆ£¬ÈóÌÐòÔ±²»±Ø¹ý·Ö¹ØÐijÌÐòÄÚ´æ·ÖÅ䣬µ«ÊÇÔÚOOPÖУ¬ÓÐЩ¶ÔÏóÐèÒªÏÔʽµÄÏú»Ù£»·ÀÖ¹³ÌÐòÖ´ÐÐÄÚ´æÒç³ö¡£
Ò»¡¢PHP À¬»ø»ØÊÕ»úÖÆ(Garbage Collector ¼ò³ÆGC)
ÔÚPHPÖУ¬Ã»ÓÐÈκαäÁ¿Ö¸ÏòÕâ¸ö¶ÔÏóʱ£¬Õâ¸ö¶ÔÏó¾Í³ÉΪÀ¬»ø¡£PHP»á½«ÆäÔÚÄÚ´æÖÐÏú»Ù£»ÕâÊÇPHP µÄGCÀ¬»ø´¦Àí»úÖÆ£¬·ÀÖ¹ÄÚ´æÒç³ö¡ ......
PHPÖÐÓÐÏÂÁгÆÖ®ÎªÄ§Êõ·½·¨(magic method)µÄº¯Êý:__construct, __destruct ,
__call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup,
__toString, __set_state, __clone and __autoload,±¾ÎÄʹÓÃ__callΪʵÏÖÒ»¸öÉí·ÝÑéÖ¤µÄ¼òµ¥ÊµÀý£¬´úÂëÈçÏ£º ´úÂë<?php
interfa ......
ÔÚphpÖз¢ËÍÓʼþ¿ÉÒÔÓÃ×Ô´øµÄmail()º¯Êý£¬µ«ÊÇÕâ¸öº¯Êý²»×ãµãºÜÃ÷ÏÔ£¬×îÖ÷ÒªÊÇÔÛ±¾»úÉÏûÓа²×°smtp·þÎñ¾Íû·¨Ê¹ÓÃmail()¡£
µ±È»ÏÖÔÚ»¹ÓÐphpÆäËûµÄ²å¼þ¡¢ÀàʲôµÄ£¬ÄÇЩҲÐí¹¦ÄÜÆëÈ«£¬¿ÉÊÇÍâ¼Ó¾Í¸Ð¾õ²»Ë¬¡£
ÄÇÆäËû°ì·¨µÄ»°£¬Ò»°ã»áÏ뵽ͨ¹ýSMTP·þÎñÆ÷À´·¢ËÍÓʼþ£¬µ«ÊÇÒ²»á²úÉúһϵÁÐÎÊÌ⣨¾ßÌåÓÐÄÄЩÎÊÌâ¿É¼û²Î¿¼×ÊÁÏ"ÎÞÐ ......
define("DB_SERVER","127.0.0.1");
define("DB_PORT",3306);
define("DB_CATALOG","uab");
define("DB_USERID","root");
define("DB_PASSWORD","");
$dsn="mysql:host=".DB_SERVER.";port=".DB_PORT.";dbname=".DB_CATALOG;
self::$__PDO=new PDO($dsn, DB_USERID, DB_PASSWORD);
//support long connection
self:: ......
ÍøÉÏ¿´ÁËsession.save_pathºÃÏñÕâ¸ösessionÎÒ»¹Ã»ÓÐÔõôÓùýÄØ£¬¿´À´ÓбØÒªÑо¿Ò»Ï°¡
½ñÌìÌØÒâµÄ¿´ÁËÒ»ÏÂÎĵµ£¬¿´Ò»ÏÂÎĵµÈ·ÊµÓÐÕâô¶«Î÷£¬Ò²Ã»Óп´µ½Ê²Ã´Àý×Ó¾Í×Ô¼ºËæ±ãµÄдÁËÒ»µã¿´¿´
´úÂëÈçÏ echo session.save_path
´ò¿ªä¯ÀÀÆ÷²é¿´¾¹È»ÏÔʾ sessionsave_path ²»¶Ô°¡£¬Ôõô»áÊÇÕâ¸öÄØ£¬¿´¿ ......