ホームページ >バックエンド開発 >PHPチュートリアル >PHP テキスト ページング コード: PHP は txt テキスト ファイルを読み取り、ページに表示します。

PHP テキスト ページング コード: PHP は txt テキスト ファイルを読み取り、ページに表示します。

WBOY
WBOYオリジナル
2016-07-25 08:51:281007ブラウズ
  • <テーブル幅="100%" bgcolor="#cccccc">
  • 复制代码

    二、php读取文件内容

    例子:

    1. /*
    2. 作者:bjf;
    3. 应用:读取文件内容;
    4. */
    5. function read_file_content($FileName)
    6. {
    7. //ファイルを開く
    8. $fp=fopen($FileName,"r");
    9. $data="";
    10. while(!feof($fp))
    11. {
    12. //ファイルを読み取ります
    13. $data.=fread($fp,4096);
    14. }
    15. //ファイルを閉じる
    16. fclose($fp);
    17. //ファイルを削除します
    18. //unlink($FileName);
    19. //ファイルからコンテンツを返します
    20. echo $data;
    21. }
    22. read_file_content("a.html")
    23. ?>
    复制代

    freadとfgetsの違い fread: バイト単位で長さを計算し、指定された長さと回数に従ってデータを読み取り、最後に到達するか、指定された長さの読み取りが完了した後に停止します。 fgets: 行全体を読み取り、キャリッジリターン、ラインフィード、または終わりに達したら停止します。

    テキストモードで使用されます。

    3. PHP での長い記事のページング

    例:

    1. /**
    2. *著者: Wuniao heart
    3. *長い記事のページネーション用のコード
    4. *原則:
    5. *配列を使用して、記事の各ページの開始バイト数を記録します (手動で p0、p1、p2... でマーク)、次に、php 関数を使用してこの配列を操作し、ページ分割された記事を表示します。ページング表示の場合は、ptag(tagの値と同じ)の値を渡します。
    6. *使用される PHP 関数:
    7. *1. strlen("string") - 指定された文字列の長さを返します - 文字列内の合計バイト数を返します。
    8. *2, strpos("string","matchingcharacter") - 干し草の山文字列内で最初に出現した neede の数値位置を返します。 - 文字列 Ordinal に現れる最初の一致文字のバイトを返します。
    9. *3, substr("string","startposition","endposition") - substr() は、開始パラメータと長さパラメータで指定された文字列の部分を返します。 - 指定された開始位置と終了位置にある文字数を返します。文字列内に .
    10. */
    11. $sql = "select * from item where id = 41";//SQL ステートメントを定義し、ID 41 のコンテンツを返します
    12. $result = mysql_query($sql);//SQL ステートメントを実行し、結果セットを返します
    13. $row = mysql_fetch_array($result);//In配列の形式 レコードセットから返す
    14. $content = $row['content'];// 記事を変数 $content に代入する
    15. $articleCounts = strlen($content);// 合計バイト数を返すof $content (article)
    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]を代入する '
    1. session_start();
    2. if (empty($page)) {$page=1;}
    3. if (isset($_GET['page'])==TRUE) {$page=$_GET['page']; }
    4. ?>
    5. <頭>
    6. 結果の読み取り
    7. <ボディ>
    8. <テーブル幅="100%" bgcolor="#CCCCCC">
  • if($page){
  • $counter=file_get_contents("example.txt"); //读取txt文書の内容から$counter
  • $length=strlen($counter);
  • $page_count=ceil($length/5000);
  • 関数 msubstr($str,$start,$len){
  • $strlength=$start+$len;
  • $tmpstr="";
  • for($i=0;$i<$strlength;$i++) {
  • if(ord(substr($str,$i,1))==0x0a) {
  • $tmpstr. ='
    ';
  • }
  • if(ord(substr($str,$i,1))>0xa0) {
  • $tmpstr.=substr($str,$i,2);
  • $i++;
  • }
  • else{
  • $tmpstr.=substr($str,$i,1); }
  • }
  • $tmpstr を返します。
  • }
  • //---------------截取中文字符串--------
  • $c=msubstr($counter,0,($page-1)*5000) ;
  • $c1=msubstr($counter,0,$page*5000);
  • echo substr($c1,strlen($c),strlen($c1)-strlen($c));
  • }?>
  • /
  • echo "首页
  • if($page!=1){
  • echo "上一页 ";
  • }
  • if($page<$page_count){
  • echo "下一页 ";
  • }
  • echo "尾页";
  • ?>
  • 声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。