Home >Backend Development >PHP Tutorial >PHP text paging code: PHP reads txt text files and displays them in pages

PHP text paging code: PHP reads txt text files and displays them in pages

WBOY
WBOYOriginal
2016-07-25 08:51:281004browse
  1. session_start();
  2. if (empty($page)) {$page=1;}
  3. if (isset($_GET['page'])==TRUE) {$page=$_GET['page']; }
  4. ?>
  5. Read Result
  6. if($page){
  7. $counter=file_get_contents("example.txt"); //读取txt文件内容到$counter
  8. $length=strlen($counter);
  9. $page_count=ceil($length/5000);
  10. function msubstr($str,$start,$len){
  11. $strlength=$start+$len;
  12. $tmpstr="";
  13. for($i=0;$i<$strlength;$i++) {
  14. if(ord(substr($str,$i,1))==0x0a) {
  15. $tmpstr.='
    ';
  16. }
  17. if(ord(substr($str,$i,1))>0xa0) {
  18. $tmpstr.=substr($str,$i,2);
  19. $i++;
  20. }
  21. else{
  22. $tmpstr.=substr($str,$i,1); }
  23. }
  24. return $tmpstr;
  25. }
  26. //------------截取中文字符串---------
  27. $c=msubstr($counter,0,($page-1)*5000);
  28. $c1=msubstr($counter,0,$page*5000);
  29. echo substr($c1,strlen($c),strlen($c1)-strlen($c));
  30. }?>
  31. /
  32. echo "首页 ";
  33. if($page!=1){
  34. echo "上一页 ";
  35. }
  36. if($page<$page_count){
  37. echo "下一页 ";
  38. }
  39. echo "尾页";
  40. ?>
复制代码

二、php读取文件内容

例子:

  1. /*
  2. 作者:bjf;
  3. 应用:读取文件内容;
  4. */
  5. function read_file_content($FileName)
  6. {
  7. //open file
  8. $fp=fopen($FileName,"r");
  9. $data="";
  10. while(!feof($fp))
  11. {
  12. //read the file
  13. $data.=fread($fp,4096);
  14. }
  15. //close the file
  16. fclose($fp);
  17. //delete the file
  18. //unlink($FileName);
  19. //return the content from the file
  20. echo $data;
  21. }
  22. read_file_content("a.html")
  23. ?>
复制代码

The difference between fread and fgets fread: Calculate the length in bytes, read data according to the specified length and number of times, and stop after encountering the end or completing the specified length of reading. fgets: Read the entire line and stop when encountering a carriage return or line feed or the end. Used in text mode.

3. Paging long articles in PHP

Example:

  1. /**
  2. *Author: Wuniao heart
  3. *Code for paging long articles
  4. *Principle:
  5. *Use an array to record the starting number of bytes of each page of the article (manually marked with p0, p1, p2...), Then use the php function to operate this array to display the paginated articles. For paging display, pass the ptag (same as the value of tag) value.
  6. *PHP functions used:
  7. *1. strlen("string") - Returns the length of the given string. - Returns the total number of bytes in the string.
  8. *2, strpos("string","matching character") - Returns the numeric position of the first occurrence of needle in the haystack string. - Returns the byte of the first matching character that appears in the string Ordinal.
  9. *3, substr("string","start position","end position") - substr() returns the portion of string specified by the start and length parameters. - Returns several characters at the specified start and end positions in the string .
  10. */
  11. $sql = "select * from article where id = 41";//Define the sql statement and return the content with ID 41
  12. $result = mysql_query($sql);//Execute the sql statement and return the result set
  13. $row = mysql_fetch_array($result);//In the form of an array Return from the record set
  14. $content = $row['content'];//Assign the article to the variable $content
  15. $articleCounts = strlen($content);//Return the total number of bytes of $content (article)
  16. $ isTrue = true;//Loop tag
  17. $tag = 0;//Paging tag, array subscript
  18. echo "Total number of bytes: ".$articleCounts."
    ";//Test information
  19. //Look for tags "ptag" and assign its position (number of bytes) to the array array[]-------------------------------- -------------
  20. while($isTrue){
  21. $startAt = strpos($content,"p".$tag);//Get the byte order of the corresponding ptag
  22. if($ startAt != false){ //If there is a tag (the return value is not false), record the position
  23. $array[$tag++] = $startAt;
  24. }else{ //If there is no tag, assign the array array[0] '
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn