BMH×Ó´®²éÕÒËã·¨(PHPʵÏÖ)
´úÂëinterface StringSearchable
{
public function search($substring, $buffer);
}
class BoyerMooreStringSearch implements StringSearchable
{
public $substring = null;
public $buffer = '';
public $jumpTable = array();
protected $results = array();
public function __construct()
{
}
public function __destruct()
{
}
public function search($substring, $buffer)
{
$this->results = array();
$this->substring = $substring;
$this->buffer = $buffer;
$this->deriveJumpTable();
$substringLen = strlen($this->substring);
$currentCharIndex = $substringLen - 1;
$bufferLen = strlen($this->buffer);
while ($currentCharIndex < $bufferLen) {
for ($i = $substringLen - 1; $i >= 0; $i--) {
&nb
Ïà¹ØÎĵµ£º
$_SERVER['PHP_SELF'] #µ±Ç°ÕýÔÚÖ´Ðнű¾µÄÎļþÃû£¬Óë document rootÏà¹Ø¡£
$_SERVER['argv'] &n ......
µÃµ½¿Í»§¶ËµÄIP£¨php£©
×÷Õß: laoyuanyyw ·¢±íÈÕÆÚ: 2006-08-01 10:43 ÎÄÕÂÊôÐÔ: Ô´´ ¸´ÖÆÁ´½Ó
function get_client_ip()
{
if(getenv('HTTP_CLIENT_IP'))
{
$client_ip = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR'))
{
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif ......
ÉÏ´«jarÊÖ»úÓÎÏ·¿Í»§¶Ëʱ£¬ÒòΪÓÐЩÊÖ»úÈçÈýÐǵÄijЩ»úÐÍÖ»Äܰ²×°jadÎļþ£¬ËùÒÔÔÚºǫ́ÉÏ´«ÐèŪһ¸ö¸ù¾ÝJARÎļþ×Ô¶¯Éú³ÉJADµÄ¹¦ÄÜ¡£Ò»°ãÔÚJARµÄÎļþ°üÄÚ£¬»áÓÐÒ»¸öÓÎÏ·ÐÅÏ¢Îļþ£¬Ò»°ã»áÔÚMETA-INF/MANIFEST.MFÀÎÒÃÇÖ»ÐèÒª¶ÁÈ¡µ½Õâ¸öÎļþµÄÄÚÈÝ£¬È»ºóÔö¼ÓһЩÆäËüÐÅÏ¢£¬Éú³ÉJADÎļþÀï¾ÍÐÐÁË¡£ÕâÀïÐèÒªÓõ½PHPµÄzipÀ©Õ¹À´ ......
Ò». 1. ǶÈë·½·¨£º »òÕß 2. Ó¦ÓÃÎļþ£º £¨1£©require("MyRequireFile.php")£º·ÅÔÚphp³ÌÐòµÄ×îÇ°Ãæ£¬ÔÚphp³ÌÐòÖ´ÐÐǰÒýÈë £¨2£©include("MyIncludeFile.php")£º·ÅÔÚÁ÷³Ì¿ØÖƵĴ¦Àí²¿·Ö£¬ÔÚÔËÐе½includeʱÔÙ¶ÁÈ¡½øÀ´ 3. ×¢ÊÍ·½·¨£º »ìºÏCºÍ»ã±à£º// £¬/* */£¬ # 4. ±äÁ¿ÀàÐÍ£º £¨1£©PHP±äÁ¿Ò ......
ÕâÀï50¸öÓÐÒæµÄPHP¹¤¾ß£¬¿ÉÒÔ´ó´óÌá¸ßÄãµÄ±à³Ì¹¤×÷£º
µ÷ÊÔ¹¤¾ß
Webgrind
Xdebug
Gubed PHP Debugger
DBG
PHP_Debug
PHP_Dyn
MacGDBp
²âÊÔºÍÓÅ»¯¹¤¾ß
PHPUnit
SimpleTest
Selenium
PHP_CodeSniffer
dBug
PHP Profile Class
Îĵµ¹¤¾ß
phpDocumentor
PHP DOX
°²È«¹¤¾ß
Securimage
£ºÑéÖ¤Â빤¾ß¡£
Scave ......