[ת] Óà SWIG ¹¹½¨ PHP À©Õ¹
×÷ÕߣºMartin Streicher, Èí¼þ¿ª·¢ÈËÔ±, Pixel, Byte, and Comma
¾¡¹Ü±àдһ¸ö PHP À©Õ¹²¢²»ÊǺÜÀ§ÄÑ£¬¶ø SWIG µÄÈ·½øÒ»²½¼ò»¯ÁËÕâÏîÈÎÎñ£¬ÕâÖ÷ÒªÊÇÒòΪËü×Ô¶¯»¯Á˽áºÏ PHP Óë C »ò C++ ËùÐèµÄ¹¤×÷¡£Èô¸ø¶¨¶ÔÒ»¸öº¯ÊýµÄÃè»æ — º¯ÊýµÄÃû³Æ¼°ÆäÐβΠ— SWIG ¾Í»áÉú³ÉÒ»¸ö°ü×°³ÌÐòÀ´½« PHP ÓëµÍ²ã´úÂëÁ¬½ÓÆðÀ´¡£
SWIG ÐèҪһЩǰÌáÌõ¼þ¡£SWIG µÄһЩ×îа汾ÐèÒª PHP µÄ°æ±¾ÊÇ V5¡£´ËÍ⣬»¹ÐèÒªÓÐÒ»¸ö C/C++ ±àÒëÆ÷£¬±ÈÈç GNU Compiler Collection (GCC)£¬ÒÔ¼° PHP Module Development Kit (MDK)¡£ÌرðÊÇÄú»¹ÒªÓÐÓë PHP °²×°Ïà¹ØµÄÍ·Îļþ¡£Èç¹ûÄúʹÓõÄÊÇ Ubuntu Linux ® »òÒ»¸ö Debian µÄ±äÌå²¢ÇÒÒѾ´ÓÒ»¸ö°ü´æ´¢¿â°²×°ÁË PHP V5£¬ÄÇôһ°ã¶øÑÔÄú¾Í¿ÉÒÔʹÓà Advanced Packaging Tool (APT) Ìí¼Ó MDK ÁË¡£ÀýÈ磬ÔÚ Ubuntu ÄÚºË 9.10 ÉÏ£¬¼üÈë apt-get install sudo apt-get install --install-recommends --yes php5-dev¡£
½ØÖ¹µ½ 2009 Äêµ×£¬SWIG µÄ×îа汾ÊÇ V1.3.40£¨²Î¼û ²Î¿¼×ÊÁÏ£©¡£ÏÂÔØ tarball £¨Ò»¸öÓÉ gzip ѹËõÁ赀 TAR Îļþ£©£¬½«Ëü½âѹËõ£¬È»ºóÕë¶ÔÄúµÄϵͳÅäÖÃÕâЩ´úÂ룬¹¹½¨²¢°²×°Õâ¸öÈí¼þ¡££¨ÒªÏëÕÒµ½ËùÓеÄÅäÖÃÑ¡ÏÔËÐÐ ./configure --help£©¡£Çåµ¥ 1 ÌṩÁËÏÂÔØ¡¢½âѹËõºÍ°²×° SWIG ËùÐèµÄÃüÁî¡£
Çåµ¥ 1. ÏÂÔØ¡¢½âѹËõºÍ°²×° SWIG
$ wget http://prdownloads.sourceforge.net/swig/swig-1.3.40.tar.gz
$ tar xzf swig-1.3.40.tar.gz
$ cd swig-1.3.40
$ ./configure
$ make
$ sudo make install
$ which swig
/usr/local/bin/swig
¹¹½¨Ò»¸öÀ©Õ¹
ÈÃÎÒÃǹ¹½¨Ò»¸öÀ©Õ¹À´Óà Linux mcrypt ¿â¼ÓÃܺͽâÃÜÏûÏ¢¡£PHP ÌṩÁËÒ»¸ö mcrypt ¿â£¬µ«Ëü²»¹ýÊǶԴ˿âµÄ C °æ±¾ÉÔ×÷ÐÞÊκóµÄ½á¹û¡£ÏÖÔÚ£¬ÈÃÎÒÃǹ¹½¨Á½¸ö¸üΪ¼ò½àµÄ·½·¨£ºÒ»¸öÓÃÀ´¼ÓÃÜ×Ö·û´®£¬ÁíÒ»¸öÓÃÀ´½âÃÜ×Ö·û´®¡£
ÔÚ Ubuntu »òÓëÆäÏàËÆµÄϵͳÉÏ£¬Äú¿ÉÒÔÓà APT °²×°Ç¡µ±µÄ mcrypt ¿âºÍÍ·Îļþ£º$ sudo apt-get install libmcrypt-dev libmcrypt4 mcrypt libmhash2¡£
ÈôÄúÄþÔ¸´ÓÍ·¿ªÊ¼¹¹½¨£¬»òÕßÄúµÄ·Ö²¼°æÄÚ²»°üÀ¨ mcrypt£¬ÄÇô¿ÉÒÔ´ÓËüµÄÖ÷Ò³ÉÏÏÂÔØÔ´´úÂ루²Î¼û ²Î¿¼×ÊÁÏ£©¡£Ìæ´úÁË crypt µÄ mcrypt ʵÓóÌÐòÒ²ÒÀÀµÓÚ libmhash£¬Òò´Ë±ØÐëÔÚ±àÒë mcrypt ֮ǰ¹¹½¨ libmhash¡£Çåµ¥ 2 ¸ø³öÁ˹¹½¨ libmhash ËùÐèµÄ´úÂë¡£
Çåµ¥ 2. ¹¹½¨ libmhash
$ # libmhash
$ wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/\
Ïà¹ØÎĵµ£º
if(validatorImage("d:\b.jpg"))
echo 'ÊǸöµÍË×ͼƬ<br />';
else
echo '²»ÊǵÍË×ͼƬ<br />';
function validatorImage($fileName){
$image = getImage($fileName);
$width = ImagesX($image);
$height = ImagesY($image);
$ycb = 0;
for($y=0;$y<$height;$y++){
for($x=0;$x<$widt ......
×î½üÕâ¶Îʱ¼äûÓÐÔõôÈÏÕæÈ¥Ñ§Ï°Ò»Ñù¶«Î÷£¬·´¶øÊÇÕâÑùѧһµãÄÇÑùѧһµãµÄ£¬´º½Ú¸Õ¹ý¿´ÁËÒ»ÏÂASP£¬ÒòΪÀÏʦÕÒÎÒ°ïæŪһÏÂÍøÕ¾£¬µ±Ê±¾õµÃASP»á£¬ËùÒÔ¾ÍÏÈÒÔASPÀ´Á˽âÕâÒ»ÃÅ£¬Ïà¶ÔÆäËûµÄJSP£¬phpÀ´Ëµ£¬ASP»¹ÒªÊìϤһЩ£¬ËùÒÔµ±Ê±¾Í¿´ÁËÒ»ÌìASP£¬¿ÉÒÔ˵ÊÇÎÂϰ°É¡£
Ò ......
½ñÌì2010-02-26£¬¿ªÊ¼ÎÒµÄphpѧϰ֮·£¬
¼Æ»®ÔÚδÀ´µÄÒ»¶Îʱ¼äÄÚ£¬ÓÃ×ã¹»¶àµÄʱ¼äºÍ¾«Á¦À´Ñ§Ï°Á˽âphp¡£
×öµ½¾«Í¨Àí½â»¹ÓоÍÊÇ×Ô¼º¶ÀÁ¢µÄ¿ª·¢³öһϵÁеÄÍøÕ¾£¬×÷Ϊ¶Ô×Ô¼ºÑ§Ï°µÄ¼ìÑé¡£
×öºÃ¼¼Êõ×ܽáºÍ¼¼ÊõÄÚºËÀí½â ......
<?php
function make_rand($length="32"){//ÑéÖ¤ÂëÎÄ×ÖÉú³Éº¯Êý
$str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$result="";
for($i=0;$i<$length;$i++){
$num[$i]=rand(0,61);
$result.=$str[$num[$i]];
}
return $result;
} ......
ÔÚPHPÖÐÓÐurlencode()¡¢urldecode()¡¢rawurlencode()¡¢rawurldecode()ÕâЩº¯ÊýÀ´½â¾öÍøÒ³
URL±àÂë½âÂëÎÊÌâ¡£
ÔÚASPµÄʱºòURL±àÂë½âÂëºÜÊÇÄÕ»ð£¬Server.urlencode²»Ì«ºÃÓã¬Óöµ½utf-8±àÂëµÄµØÖ·¸üÊÇÂé
·³¡£ÄãÒª»ñÈ¡°Ù¶È¡¢Googleµã»÷µ½ÍøÕ¾µÄÍøÖ·Á´½ÓÖеĹؼü×Ö£¬ÒªÐ´ÉÏÒ»¶Ñ×Ô¶¨Ò庯ÊýÀ´µÃµ½urldecodeµÄЧ¹û¡£
ժ¼һƪ¹Ø ......