Maison développement back-end tutoriel php php文本分页代码:php读取txt文本文件并分页显示

php文本分页代码:php读取txt文本文件并分页显示

Jul 25, 2016 am 08:51 AM

  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 if(ord(substr($str,$i,1))==0x0a) {
  14. $tmpstr.='
    ';
  15. }
  16. if(ord(substr($str,$i,1))>0xa0) {
  17. $tmpstr.=substr($str,$i,2);
  18. $i++;
  19. }
  20. else{
  21. $tmpstr.=substr($str,$i,1); }
  22. }
  23. return $tmpstr;
  24. }
  25. //------------截取中文字符串---------
  26. $c=msubstr($counter,0,($page-1)*5000);
  27. $c1=msubstr($counter,0,$page*5000);
  28. echo substr($c1,strlen($c),strlen($c1)-strlen($c));
  29. }?>
  30. /
  31. echo "首页 ";
  32. if($page!=1){
  33. echo "上一页 ";
  34. }
  35. if($page echo "下一页 ";
  36. }
  37. echo "尾页";
  38. ?>
复制代码

二、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. ?>
复制代码

fread与fgets的区别 fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止. fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用.

三、php长文章分页显示

例子:

  1. /**
  2. *Author:乌鸟heart
  3. *长文章分页的代码
  4. *原理:
  5. *利用一个数组来记录文章每一页(用p0、p1、p2...做手动标记)的起始字节数,然后通过利用php函数操作这个数组去显示分页后的文章。分页显示,传递ptag(与tag的值一样)值。
  6. *利用到的php函数:
  7. *1、strlen("字符串") - Returns the length of the given string. - 返回字符串的字节总数。
  8. *2、strpos("字符串","匹配字符") - Returns the numeric position of the first occurrence of needle in the haystack string. - 返回字符串中出现的第一个相匹配的字符所在的字节序数。
  9. *3、substr("字符串","起始位置","终止位置") - substr() returns the portion of string specified by the start and length parameters. - 返回字符串中指定起止位置的若干字符。
  10. */
  11. $sql = "select * from article where id = 41";//定义sql语句,返回id为41的内容
  12. $result = mysql_query($sql);//执行sql语句,返回结果集
  13. $row = mysql_fetch_array($result);//以数组的形式从记录集返回
  14. $content = $row['content'];//把文章赋给变量$content
  15. $articleCounts = strlen($content);//返回$content(文章)的总字节数
  16. $isTrue = true;//循环标记
  17. $tag = 0;//分页标记、数组下标
  18. echo "字节总数:".$articleCounts."
    ";//测试信息
  19. //寻找标记“ptag”,并把其位置(所在的字节数)赋给数组array[]------------------------------------------
  20. while($isTrue){
  21. $startAt = strpos($content,"p".$tag);//得到相应ptag的字节序数
  22. if($startAt != false){ //如果有标记(返回值不是false),则记录位置
  23. $array[$tag++] = $startAt;
  24. }else{ //如果没有标记,则将数组array[0]赋值'\0'
  25. $array[$tag] = '\0';
  26. $isTrue = false;
  27. }
  28. }
  29. //循环输出标记位置--------测试信息
  30. for($i = 0; $i echo $array[$i]."
    ";
  31. }
  32. echo "------------------------------
    ";
  33. //输出内容----
  34. if($array[0] == '\0'){ //判断是否有标记
  35. echo $content; //没有标记的情况,单页显示
  36. }else{ //有标记的情况,分页显示
  37. //输出分页内容
  38. if( isset($_GET['ptag']) ){ //判断是否有ptag值传递,有则显示第 ptag+1 页,否则显示第一页(ptag=0)
  39. $ptag = $_GET['ptag']; //把ptag的值赋给变量$ptag
  40. if($ptag echo "有值传递,显示第".($ptag+1)."页
    "; //测试信息
  41. echo "值为:".$ptag."
    "; //测试信息
  42. echo substr($content,$array[$ptag - 1] + 2,$array[$ptag] - $array[$ptag - 1] - 2);//显示ptag+1页的内容
  43. }else{echo "参数有误";}
  44. }
  45. else{ //没有ptag值传递的情况,显示第一页(ptag=0)
  46. echo "无值传递,显示第1页
    "; //测试信息
  47. echo substr($content,0,$array[0] - 1);//显示第一页的内容
  48. }
  49. }
  50. //循环显示页数链接----
  51. if($array[0] != '\0'){ //在有手动标记的情况下才显示页数链接
  52. for($i = 0;$i if($ptag == $i){ //如果是本页,则粗体显示
  53. $pager .= " ".($i+1)." ";
  54. }else{ //不是本页
  55. $pager .= " ".($i+1)." ";
  56. }
  57. }
  58. echo "
    跳转至第".$pager."页"; //输出链接
  59. }
  60. ?>
复制代码


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Apr 03, 2025 am 12:04 AM

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Expliquez le concept de liaison statique tardive en PHP. Expliquez le concept de liaison statique tardive en PHP. Mar 21, 2025 pm 01:33 PM

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Mar 31, 2025 pm 11:54 PM

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Apr 01, 2025 pm 03:12 PM

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...

Caractéristiques de sécurité du cadre: protection contre les vulnérabilités. Caractéristiques de sécurité du cadre: protection contre les vulnérabilités. Mar 28, 2025 pm 05:11 PM

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.

Frameworks de personnalisation / d'extension: comment ajouter des fonctionnalités personnalisées. Frameworks de personnalisation / d'extension: comment ajouter des fonctionnalités personnalisées. Mar 28, 2025 pm 05:12 PM

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

See all articles