我想读取本地一个TXT文件,然后根据设定的长度,进行分页,不去除换行格式,并生成HTML文件,求高手给个代码
<?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"><?phpecho "<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>
并生成HTML文件
那就是说不需要在线显示是吧?
在固定大小的区域里能显示多少行文字是和字体大小有关的
由于你需要 不去除换行格式 就需要准确地知道区域宽度、高度,字体大小
如果你允许显示的区域自动加大高度,那么只需要简单的字符串截取就可以了