>백엔드 개발 >PHP 튜토리얼 >PHP 텍스트 페이징 코드: PHP는 txt 텍스트 파일을 읽고 이를 페이지에 표시합니다.

PHP 텍스트 페이징 코드: PHP는 txt 텍스트 파일을 읽고 이를 페이지에 표시합니다.

WBOY
WBOY원래의
2016-07-25 08:51:281021검색
  • <테이블 너비="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","matching char") - haystack 문자열에서 needle이 처음 나타나는 숫자 위치를 반환합니다. - 문자열에 나타나는 첫 번째 일치 문자의 위치를 ​​반환합니다. .
    9. *3, substr("string","start position","end position") - substr()은 시작 및 길이 매개변수로 지정된 문자열 부분을 반환합니다. - 문자열에서 지정된 시작 및 끝 위치를 반환합니다. 여러 문자.
    10. */
    11. $sql = "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;//Loop 태그
    17. $tag = 0;/ /페이징 태그, 배열 첨자
    18. echo "총 바이트 수:".$articleCounts."
      ";//테스트 정보
    19. //"ptag" 마크를 찾아 해당 위치(숫자)를 할당합니다. 바이트) 배열[] 제공------------------------------- --
    20. while($isTrue){
    21. $startAt = strpos($content,"p".$tag) //해당 ptag의 바이트 번호를 가져옵니다.
    22. if($startAt != false ){ //표시가 있으면(반환 값이 false가 아님) 위치를 기록합니다.
    23. $array[$tag] = $startAt
    24. }else{ //표시가 없으면 배열[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으로 문의하세요.