<?
//取5K为分割点
$splen = 1024*5;
//当前页面
$page = 1;
$startpos = $page*$splen;
$blen = strlen($body);
for($i=$startpos;$i<$blen;$i++)
{
   $i++;
   if($i - $startpos > $splen)
   {
      if(ord($body[$i])<0x81)
      {
        if(ereg("[^0-9a-zA-Z_-]",$body[$i]))
        {
         echo $body[$i];
         break;
        }
      }
      else
      {
        $c = $body[$i].$body[$i+1];
        $n = hexdec(bin2hex($c));
        if($n<0xaa40)
        {
         echo $c;
         break;
        }
      }
   }
}
?>

解决方案 »

  1.   

    搞错了一点
    $startpos = ($page-1)*$splen;
      

  2.   

    我到是有个想法,如果文章是存在一个文本文档中的话,我们只要每次读出第几到第几行,不就行了?对于3M以上的文章,这样做,大大减少了打开的时候,因为不 是全部读出来文件啊,所以就像mysql那样分页,加快了打开速度
      

  3.   

    最好对文章进行编辑 在进行要分页的地方添加个标记 如: <break />读取文章时以<break />分割!
    存储文章时这样:
    .....
    ....
    <break />
    .....
    ......
    .....
    <break />
    .......
    ......