phpÏÂÔØ£º
http://windows.php.net/download/
Ñ¡Ôñ
VC6 x86 Thread Safe (2010-Mar-04 20:11:08)
VC6 x86´ú±í Apache HTTP Server (httpd) 2.2.15 ºÍPHP½áºÏ
apacheÏÂÔØ£º
http://httpd.apache.org/download.cgi#apache22
Ñ¡Ôñ2.2.15
httpd-2.2.15-win32-x86-no_ssl.msi [PGP] [MD5] [SHA1]
apache services 2.2ÐÞ¸ÄÁË php.ini httpd.confºó£¬apache2.2û·¨Æô¶¯ÁË£¬Çó½â¾ö°ì·¨¡£¡£¡£ ......
//Èç¹û$waitAckSecΪ0£¬Ôò·µ»Ø³É¹¦·¢Ë͵Ä×Ö½ÚÊý
//Èç¹û$waitAckSec´óÓÚ0£¬Ôò·µ»Ø·¢Ëͺó½ÓÊÕµ½µÄÄÚÈÝ
//ÈκÎÇé¿öÏ£¬Ê§°Ü¶¼·µ»ØFALSE
function SendUDP($host, $port, $buff, $waitAckSec=0)
{
$result = FALSE;
$socket = ($result=@socket_create(AF_INET, SOCK_DGRAM, SOL_UDP));
if ($socket)
{
$result = @socket_sendto($socket, $buff, strlen($buff), 0, $host, $port);
if ( $waitAckSec>0 )
{
$result = FALSE;
$read = array($socket);
$write = NULL;
$except = NULL;
if ( @socket_select($read, $write, $except, $waitAckSe ......
ÔÚÏîÄ¿Öн«ÔÓеÄÉÏ´«¸ÄΪflash¶àÎļþÉÏ´«,µ«ÊÇÕâÆäÖÐÓöµ½Á˸öºÜÓôÃÆµÄÎÊÌâ,µ±ÓÐ×öÓû§ÅжÏʱºò,˵°×Á˾ÍÊÇÅжÏcookieµÄʱºò,»ñÈ¡µ½µÄÖµ×ÜÊÇ¿Õ,µ¼ÖÂ×ÜÊÇÈÏΪÓû§Î´µÇ¼....
ºóÀ´ÉÏÍø²éÁËÏÂ,ÕÒµ½Ò»ÆªÎÄÕÂ:
СÐÄswfupload µÄcookie Bug
ʹÓÃSWFUploadµÄʱºòÒ»¶¨ÒªÐ¡ÐÄcookie
bug£ºÔÚ·ÇIEÄÚºËÄں˵Ää¯ÀÀÆ÷ÏÂʹÓÃSWFUploadÉÏ´«Îļþʱ£¬¸ÃÇëÇó»áºöÂÔ×ÔÉíä¯ÀÀÆ÷ÖеÄËùÓÐcookie
£¬Ö»
ȇ
½«IEä¯ÀÀÆ÷ϵÄÊôÓÚ¸ÃÓòµÄ³Ö¾Ãcookie(persistent cookies)·¢Ë͵½·þÎñ¶Ë£¬·Ç³Ö¾Ãcookie£¨ Session only£©²»»á±»·¢ËÍ¡£Òź¶µÄÊÇ´ËBug²¢·ÇÊÇSWFUploadÄÚ²¿ÊµÏÖµÄÎÊÌ⣨ËùÓеÄ
FlashÉÏ´«¶¼»á´æÔÚ´Ëbug£©£¬¶øÊÇFlashPlayerµÄbug£¬ËùÓÐʹÓÃFileReferenceÀàÉÏ´«Îļþʱ»á´æÔÚ´ËÎÊÌâ¡£ÐÒÔ˵ÄÊÇÎÒÃÇÓÐ
°ì·¨ÈÆ¿ª´ËÏÝÚå¡£
¡¡¡¡¼ÙÉèÒ»ÖÖʹÓó¡¾°£¬Óû§µÇ¼ϵͳÒÔºó£¬ÎÒÃÇ»áÔÚcookieÖÐдÈëÒ»¸ö·Ç³Ö¾ÃµÄkeyÖµÀ´ÅжÏÓû§Éí·Ý¡£µ±Óû§Ê¹ÓÃSWFUploadÉÏ´«Îļþ
µÄʱºò£¬·þÎñ¶Ë³ÌÐòͨ¹ýRequesetÖеÄcookieÀ´ÅжÏÓû§Éí·Ý¡£ÔÚIEÏÂÎÒÃǵŦÄÜÕý³££¬µ«ÔÚFFÏÂÄã»á·¢ÏÖ·þÎñ¶Ë½Å±¾´ÓRequestÖÐÈ¡µ½
µÄcookieÊǿյģ¬Õâ¾ÍÊǺܶàÈËÓöµ½µÄcookie¶ªÊ§¡£Ç°ÃæÎÒÒ²Ìáµ½ÁË·ÇIEÄں˵Ää¯ÀÀÆ÷ºöÂÔÁË×ÔÉíµÄËùÓÐcookie¡£
¡¡¡¡¼ ......
ÔÎĵØÖ·£ºhttp://hi.baidu.com/pengpeng5047/blog/item/c3f3b003d0452a034bfb519f.html
±ÈÈçÏÂÃæµÄ±íµ¥£º
/*form.php*/
<form action="getform.php" method="post">
<table border="1">
<tr>
<th>ÐÕÃû</th>
<th>ѧºÅ</th>
</tr>
<tr>
<td>ÕÅÈý</td>
<td><input type="text" name="number" value="001"></td>
</tr>
<tr>
<td>ÀîËÄ</td>
<td><input type="text" name="number" value="002"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="±£´æÐÞ¸Ä"/></td>
</tr>
</table>
</form>
ÕâÊÇÒ»¸öѧÉúÐÅÏ¢µÄ±íµ¥£¬ÔÊÐí¹ÜÀíÔ±ÐÞ¸ÄѧÉúµÄѧºÅ²¢±£´æ¡£ºÜÃ÷ÏÔͨ³£Ñ§Éú»áÓкܶà¸ö¡£ÎªÁË»ñȡѧºÅ£¬ÎÒÃǵÄgetform.phpÈçÏÂ:
<?php
$number = $_POST['number'];
echo $number;
?>
Èç¹ûÖ´ÐеϰÎÒÃǻᷢÏÖÊä³öµÄ½á¹ûÊÇ×îºóÒ»¸öÎı¾ÓòµÄÖµ"002"£¬ÄÇôÔõÑù»ñµÃËùÓÐѧÉúµÄѧºÅÄØ£¿ÔÚÍøÉϲé×ÊÁϺó»ñÖª£ºÖ»ÐèÔÚform.phpÖаÑnameÓÉnumber¸ÄΪnum ......
½ñÌìÔÚÏîÄ¿ÖÐÓõ½ÁËÍøÂçÉÏÒ»¸ö±È½ÏºÃµÄswiff uploader ÎļþÉÏ´«×é¼þ,µ¥¶À·Åµ½·þÎñÆ÷²âÊÔÆäÉÏ´«Ã»µãÎÊÌâ,ÒòΪûÓÐÓõ½¼øÈ¨µÈ²Ù×÷²»»áÓõ½cookie»òÕßsession,ÎÊÌâ²»»á±©Â¶.
ºÃÁË,½«Õâ¸ö×é¼þÕûºÏµ½ÎÒµÄÏîÄ¿ÖÐÈ¥,ieÖÐûÎÊÌâ,Ò»ÇÐÕý³£,¶øÎÒϰ¹ßÓÚfirefoxÏÂ×÷¿ª·¢,ÎÊÌâ³öÏÖÁË.ÔÚ´¦ÀíÉÏ´«µÄphp½Å±¾(upload_action.php)ÖмÓÈëÁËͬһ¸öµÄ¼øÈ¨ÒÔ¼°ÅäÖÃÎļþ.config.php´úÂëÈçÏÂ:
<?php
//ÒýÈëÎÒϵͳµÄÅäÖÃÎļþ,´ËÎļþÀïÃæ×öÁ˵ǼÑéÖ¤µÈ²Ù×÷,ûµÇ½½«Ìøµ½µÇÂ½Ò³Ãæ.
require_once("config.php");
//Ê¡ÂÔÈô¸ÉÒµÎñÂß¼´úÂë.
?>
µ± ÔÙ´ÎÇëÇóÎÒµÄupload.phpʱºò,·¢ÏÖÉÏ´«Îļþ×ÜÊÇ»á°ü302´íÎó.ºóÀ´²éÁËÏ´íÎó´úÂë,ÊDZ»Öض¨ÏòÁË,
ÕâÊÇÓÉÓÚûÓеǽµ¼ÖÂÌø×ªµ½µÇÂ½Ò³Ãæµ¼ÖµÄ(¿ªÊ¼Ò»Ö±²»ÖªµÀʲôÔÒò,ºóÀ´²ÅÖªµÀ.)
ÎÊÌâ¹Ø¼ü:
Óû§µÇ¼ÑéÖ¤²»Í¨¹ý.
ÒòΪÎÒµÄÓû§ÑéÖ¤¹ý³ÌÊÇͨ¹ý½«useridʱ¼ä´ÁµÈһϵÁвÎÊý´æ·Åµ½sessionÀ´ÅжÏÊÇ·ñµÇ¼µÄ.
Õâ˵Ã÷ÊÇû»ñÈ¡µÃµ½session,ËùÒԵǼʧ°ÜÁË.
ÔÚ½øÒ»²½¾ÍÊÇ˵,ÉÏ´«Õâ¸ö¹ý³ÌÔÚfirefoxÖÐûÓн«sessionid´«Ë͵½·þÎñÆ÷È¥ºóÀ´²éÁËÍøÂç×ÊÁϲÅÖªµÀÕâÊǸöflashµÄbug.
ÍøÂçÒýÓÃ×ÊÁÏ:
ʹÓÃSWFUploadµÄʱºòÒ»¶¨ÒªÐ¡ÐÄcookie bug£ºÔÚ·ÇIEÄÚºËÄ ......
½ñÌìÔÚÏîÄ¿ÖÐÓõ½ÁËÍøÂçÉÏÒ»¸ö±È½ÏºÃµÄswiff uploader ÎļþÉÏ´«×é¼þ,µ¥¶À·Åµ½·þÎñÆ÷²âÊÔÆäÉÏ´«Ã»µãÎÊÌâ,ÒòΪûÓÐÓõ½¼øÈ¨µÈ²Ù×÷²»»áÓõ½cookie»òÕßsession,ÎÊÌâ²»»á±©Â¶.
ºÃÁË,½«Õâ¸ö×é¼þÕûºÏµ½ÎÒµÄÏîÄ¿ÖÐÈ¥,ieÖÐûÎÊÌâ,Ò»ÇÐÕý³£,¶øÎÒϰ¹ßÓÚfirefoxÏÂ×÷¿ª·¢,ÎÊÌâ³öÏÖÁË.ÔÚ´¦ÀíÉÏ´«µÄphp½Å±¾(upload_action.php)ÖмÓÈëÁËͬһ¸öµÄ¼øÈ¨ÒÔ¼°ÅäÖÃÎļþ.config.php´úÂëÈçÏÂ:
<?php
//ÒýÈëÎÒϵͳµÄÅäÖÃÎļþ,´ËÎļþÀïÃæ×öÁ˵ǼÑéÖ¤µÈ²Ù×÷,ûµÇ½½«Ìøµ½µÇÂ½Ò³Ãæ.
require_once("config.php");
//Ê¡ÂÔÈô¸ÉÒµÎñÂß¼´úÂë.
?>
µ± ÔÙ´ÎÇëÇóÎÒµÄupload.phpʱºò,·¢ÏÖÉÏ´«Îļþ×ÜÊÇ»á°ü302´íÎó.ºóÀ´²éÁËÏ´íÎó´úÂë,ÊDZ»Öض¨ÏòÁË,
ÕâÊÇÓÉÓÚûÓеǽµ¼ÖÂÌø×ªµ½µÇÂ½Ò³Ãæµ¼ÖµÄ(¿ªÊ¼Ò»Ö±²»ÖªµÀʲôÔÒò,ºóÀ´²ÅÖªµÀ.)
ÎÊÌâ¹Ø¼ü:
Óû§µÇ¼ÑéÖ¤²»Í¨¹ý.
ÒòΪÎÒµÄÓû§ÑéÖ¤¹ý³ÌÊÇͨ¹ý½«useridʱ¼ä´ÁµÈһϵÁвÎÊý´æ·Åµ½sessionÀ´ÅжÏÊÇ·ñµÇ¼µÄ.
Õâ˵Ã÷ÊÇû»ñÈ¡µÃµ½session,ËùÒԵǼʧ°ÜÁË.
ÔÚ½øÒ»²½¾ÍÊÇ˵,ÉÏ´«Õâ¸ö¹ý³ÌÔÚfirefoxÖÐûÓн«sessionid´«Ë͵½·þÎñÆ÷È¥ºóÀ´²éÁËÍøÂç×ÊÁϲÅÖªµÀÕâÊǸöflashµÄbug.
ÍøÂçÒýÓÃ×ÊÁÏ:
ʹÓÃSWFUploadµÄʱºòÒ»¶¨ÒªÐ¡ÐÄcookie bug£ºÔÚ·ÇIEÄÚºËÄ ......
¹ØÓÚPHPµÄ»º´æ¼¼ÊõÎÒ¸öÈ˵͍ÒåÊÇ¿ÉÒÔ·Ö³É3¸öÀà±ð1;
»º´æÄ£¿éÕâÕâ¸öÊÇÔÚ·þÎñÆ÷ÉÏ×öµÄ»º´æÉèÖÃ, ±ÈÈçZend¹«Ë¾µÄCache²úÆ·µÈ, Ö÷ÒªÔÀíÊÇͨ¹ý¶ÔPHP´úÂëÎļþµÄÒ»´Î±àÒë±£´æÔÚÄÚ´æÖÐ, ͨ¹ý¼õÉÙI /OµÄ²Ù×÷À´¼Ó¿ì·ÃÎÊËÙ¶È, ²»ÔÚ±¾ÎÄÌÖÂÛ·¶Î§Ö®ÁÐ2;
HTML·½Ê½»òÐíÄã˵PHPÉú³ÉHTMLµÄ·½Ê½²»ÔÚ±¾ÎÄÌÖÂ۵ķ¶Î§Ö®ÁÐ, µ«ÊÇÎÒ¸öÈËÈËΪÕâÖÖ·½Ê½ÈÔÈ»ÊÇÒ»ÖÖCache·½Ê½, ÈçÏÖÔÚÁ÷ÐеÄÉú³ÉHTML µÄ³ÌÐòÒ²Óв»ÉÙ,
±ÈÈç¹úÄÚµÄһЩCMS, Õâ¸öÒ²²»ÔÚ±¾ÎÄÌÖÂ۵ķ¶Î§Ö®ÁÐ, Ò»±Ê´ø¹ý;
3;
Éú³ÉCacheÎļþÕâ¸ö¾ÍÊǶÔһЩ³£ÓõĶøÇÒÓÖ²»ÊǾ³£±ä¶¯µÄÁ¿, ±£´æÔÚÎı¾ÖÐ, ͨ¹ý¼õÉÙmysqlµÄ²éѯÁ¿À´¼Ó¿ì³ÌÐòÖ´ÐÐ, ÏêϸµÄÄÚÈÝÎÒÃÇËæºó½éÉÜ4;
php»º´æ»úÖÆ¾Ù¸öÀý×Ó˵, smartyÄ£°æÀïÃæµÄ»º´æ»úÖÆ, ±ÈÈçĿǰDiscuz!ÂÛ̳ÓõĻº´æ»úÖÆ, ºóÃæ¾ßÌå˵ ÎÒÊǰÑĿǰphpµÄCache·Ö³ÉÁËÕâËÄÖÖ»úÖÆ,
µÚÒ»ÖÖ·½Ê½, ÐèÒª¼ÓÔØÄ£¿é, ¿ÉÄÜÊÇÊշѵıÈÈçZEND¹«Ë¾µÄ, ¿ÉÄÜÊÇÃâ·ÑµÄ, ²»¹ý¶àÌÖÂÛ;
µÚ¶þÖÖ·½Ê½, ±ÈÈçÔÚ³ÉÊìµÄ´óµÄÕ¾µãÉÏÓñȽϺÏÊÊ;
µÚÈýÖÖ·½Ê½ºÍµÚËÄÖÖËÄĿǰPHPÒµÄÚ³ÌÐòÖбȽÏÁ÷Ðеķ½Ê½ÒÔDiscuz!ÂÛ̳Èí¼þ5;
0°æ±¾(»òÐíÄã˵ÁËΪʲôÒÔ Discuz!ΪÀý, ¶ø²»ÒÔPhpWind»òÕ߯äʵCMSΪÀý, ......