PHPʵÏÖÀàËÆtailÃüÁî¶ÁÈ¡×îºónÐеķ½·¨
ÔÎijö×Ô£º http://www.hly1980.cn/archives/118.html
ÐèÒª·ÖÎöÈÕ־ʱtailÃüÁî¿ÉÊdz£ÐèÒªÓõ½µÄ£¬¿ÉϧphpÄÚ²¢Ã»ÓÐÌṩÀàËÆµÄ·½·¨£¬ËùÒÔ×Ô¼ºÊµÏÖÁËÒ»¸ö¡£
µ÷Ó÷½Ê½Îªtail($filename, $rows)£¬Ã¿´ÎĬÈ϶ÁÈ¡1024×Ö½Ú×÷Ϊ»º³å£¬·µ»Ø×Ö·û´®Êý×飬ÎļþβµÄÐп¿Ç°£¨ÕâÀïµÄÐÐΪºÍtailÓÐËùÇø±ð£¬Èç¹ûÐèÒªÒÔÔÐò·µ»ØµÄÇë×ÔÐе÷ÓÃarray_reverse£©¡£
´úÂëÈçÏ£º
/**
* ¶ÁÈ¡Îļþ×îºóÈô¸ÉÐеÄÊý¾Ý
*
* @param string $filename
* ÎļþÃû
* @param string $rows
* ÐÐÊý
* @param string $size
* Äڴ滺³åÇø´óС£¬Ä¬ÈÏΪ1024×Ö½Ú
* @param string $ending
* ÐÐβ·Ö¸ô·û£¬Ä¬ÈÏΪ\n
* @return array
* ¶ÁÈ¡³É¹¦Ôò·µ»Ø×Ö·û´®Êý×飬ÎļþβµÄ×Ö·û´®¿¿Ç°£¬¶Áȡʧ°ÜÔò·µ»Øfalse
*/
function tail($filename, $rows, $size = 1024, $ending = "\n") {
$ret = false;
if ($rows > 0 && $fp = fopen($filename, 'rb')) {
$pos = filesize($filename);
$ret = array();
flock($fp, LOCK_SH);
$data = '';
$found = 0;
while ($found < $rows) {
$pos = $pos - $size;
if ($pos < 0) {
$size = 1024 + $pos;
$pos = 0;
}
fseek($fp, $pos, SEEK_SET);
$data = fread($fp, $size) . $data;
$tmp = explode($ending, $data);
$count = count($tmp);
for ($i = 1; $i < $count; $i++) {
$ret[] = $tmp[$count - $i];
$found++;
if ($found >= $rows) {
break;
}
}
$data = $tmp[0];
if ($pos <= 0) {
break;
}
}
flock($fp, LOCK_UN);
fclose($fp);
}
return $ret;
}
Ïà¹ØÎĵµ£º
±í´ïʽÊÇ PHP ×îÖØÒªµÄ»ùʯ¡£ÔÚ PHP ÖУ¬¼¸ºõÄãËùдµÄÈκζ«Î÷¶¼ÊÇÒ»¸ö±í´ïʽ¡£¼òµ¥µ«È´×ȷµÄ¶¨ÒåÒ»¸ö±í´ïʽµÄ·½Ê½¾ÍÊÇ“anything that has a value”¡£
×î»ù±¾µÄ±í´ïʽÐÎʽÊdz£Á¿ºÍ±äÁ¿¡£µ±Äã¼üÈë“$a = 5”£¬¼´½«Öµ '5' ·ÖÅ䏸±äÁ¿ $a¡£'5'£¬ºÜÃ÷ÏÔ£¬ÖµÎª 5£¬»»¾ä»°Ëµ '5' ÊÇÒ»¸öֵΪ5µÄ±í´ïʽ£ ......
¸ÚλְÔð
1¡¢ÐÖúϵͳ¼Ü¹¹Éè¼ÆÊ¦½øÐÐϵͳ¼Ü¹¹Éè¼Æ¹¤×÷£»
2¡¢³Ðµ£WebÓ¦ÓúËÐÄÄ£¿éµÄÉè¼Æ/ʵÏÖ¹¤×÷£»
3¡¢³Ðµ£Ö÷Òª¿ª·¢¹¤×÷£¬¶Ô´úÂëÖÊÁ¿¼°½ø¶È¸ºÔð£»
4¡¢½øÐйؼü¼¼ÊõÑéÖ¤ÒÔ¼°¼¼ÊõÑ¡Ð͹¤×÷£»
5¡¢ºÍ²úÆ·¾Àí¹µÍ¨²¢È·¶¨²úÆ·¿ª·¢ÐèÇó£»
¸ÚλҪÇó
1¡¢¾ßÓл¥ÁªÍøÁìÓòÏà¹ØÏîÄ¿¿ª·¢¹¤×÷¾Ñ飬¶Ô»¥ÁªÍøÒµÎñÒÔ¼°¼¼ÊõÓÐÏà ......
1.Èç¹ûÒ»¸ö·½·¨¿É¾²Ì¬»¯£¬¾Í¶ÔËü×ö¾²Ì¬ÉùÃ÷¡£ËÙÂÊ¿ÉÌáÉýÖÁ4±¶¡£
2.echo ±È print ¿ì¡£
3.ʹÓÃechoµÄ¶àÖØ²ÎÊý£¨Òë×¢£ºÖ¸ÓöººÅ¶ø²»ÊǾäµã£©´úÌæ×Ö·û´®Á¬½Ó¡£
4.ÔÚÖ´ÐÐforÑ»·Ö®Ç°È·¶¨×î´óÑ»·Êý£¬²»ÒªÃ¿Ñ»·Ò»´Î¶¼¼ÆËã×î´óÖµ¡£
5.×¢ÏúÄÇЩ²»ÓõıäÁ¿ÓÈÆäÊÇ´óÊý×飬ÒÔ±ãÊÍ·ÅÄÚ´æ¡£
6.¾¡Á¿±ÜÃâʹÓÃ__get£¬__set£¬__auto ......
__autoload($classname){
}
µ±PHPÕÒ²»µ½ÀàÎļþ»áµ÷ÓÃÕâ¸ö·½·¨£¬µ±×¢²áÁË×Ô¼ºµÄº¯Êý»ò·½·¨Ê±£¬PHP²»»áµ÷ÓÃ__autoload()º¯Êý£¬¶ø»áµ÷ÓÃ×Ô¶¨ÒåµÄº¯Êý
spl_autoload_register('func_name');
spl_autoload_register(array('class_name','method_name')); ......