我想读取本地一个TXT文件,然后根据设定的长度,进行分页,不去除换行格式,并生成HTML文件,求高手给个代码PHP

解决方案 »

  1.   

    <?php //----------------you should save this file as m.php----------------
        session_start(); 
        if (empty($page)) {$page=1;}
        if (isset($_GET['page'])==TRUE) {$page=$_GET['page']; }
    ?> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>Read Result</title> 
    <style type="text/css"> 
    <!-- 
    .STYLE1 {font-size: 12px} 
    .STYLE2 {font-size: 18px} 
    --> 
    </style> 
    </head> 
    <body> 
    <table width="100%"  bgcolor="#CCCCCC"> 
    <tr> 
    <td > 
    <?php 
    if($page){ 
    $counter=file_get_contents("d:/fuck.txt"); //-------read the file into a string.-------
    $length=strlen($counter); 
    $page_count=ceil($length/5000); function msubstr($str,$start,$len){ 
        $strlength=$start+$len; 
        $tmpstr="";
        for($i=0;$i<$strlength;$i++) { 
        if(ord(substr($str,$i,1))==0x0a) { 
            $tmpstr.='<br />';
        }
        if(ord(substr($str,$i,1))>0xa0) { 
            $tmpstr.=substr($str,$i,2); 
            $i++; 
        }
        else{ 
            $tmpstr.=substr($str,$i,1); } 
        } 
        return $tmpstr; 

    //--------------------------截取中文字符串-------------------------- 
    $c=msubstr($counter,0,($page-1)*5000); 
    $c1=msubstr($counter,0,$page*5000); 
    echo substr($c1,strlen($c),strlen($c1)-strlen($c)); 
    }?> 
    </td> 
    </tr> 
    </table> <table width="100%"  bgcolor="#cccccc"> 
    <tr> 
    <td width="42%" align="center" valign="middle"><span class="STYLE1"> <?php echo $page;?> / <?php echo $page_count;?> 页 </span></td> 
    <td width="58%" height="28" align="left" valign="middle">
    <span class="STYLE1">
    <?php
    echo "<a href=index.php?page=1>首页</a> ";  
    if($page!=1){ 
        echo "<a href=index.php?page=".($page-1).">上一页</a> "; 

    if($page<$page_count){ 
        echo "<a href=index.php?page=".($page+1).">下一页</a> "; 
    }
    echo "<a href=index.php?page=".$page_count.">尾页</a>";  
    ?> 
    </span> </td> 
    </tr> 
    </table> 
    </body> 
    </html>转载的,原链接在http://www.oschina.net/code/snippet_150019_4827稍微修改了一下
      

  2.   

    并生成HTML文件 
    那就是说不需要在线显示是吧?在固定大小的区域里能显示多少行文字是和字体大小有关的
    由于你需要 不去除换行格式 就需要准确地知道区域宽度、高度,字体大小如果你允许显示的区域自动加大高度,那么只需要简单的字符串截取就可以了