红穆笔记
首頁 語言筆記 PHP 讀取文本每行內容,每次輸出100行,並且可以翻頁輸出
語言筆記 PHP

PHP 讀取文本每行內容,每次輸出100行,並且可以翻頁輸出

PHP 读取文本每行内容,每次输出100行,并且可以翻页输出

現在有一個txt文件,裏面有100萬個標題,一行一個,我每次訪問時會傳回來一個pageid,pageid爲1的時候,就輸出文件裏面第一到一百個標題,pageid爲2時,就輸出第一百零一到兩百的標題,一次類推,PHP代碼呢,也很簡單:

🔒 隱藏內容:會員可查看

<?php
// 打開標題文件
$handle = fopen("huizong.txt", "r");

// 讀取文件內容,並移除UTF-8 BOM
$content = fread($handle, filesize("huizong.txt"));
$content = substr($content, 3); // 移除UTF-8 BOM

// 關閉文件句柄
fclose($handle);

// 將內容按行分割爲數組
$titles = explode("\n", $content);

// 去除每行首尾的空格
$titles = array_map('trim', $titles);

// 獲取文件總行數
$total = count($titles);

// 設置每頁顯示的標題數量和當前頁的 pageid
$per_page = 1000;
$page_id = isset($_GET['pageid']) ? intval($_GET['pageid']) : 1;

// 計算總頁數
$total_pages = ceil($total / $per_page);

// 計算偏移量
$offset = ($page_id - 1) * $per_page;

// 讀取指定偏移量和行數的標題
$titles = array_slice($titles, $offset, $per_page);

// 將標題、總行數、總頁數組成關聯數組
$data = array(
    'total' => $total,
    'total_pages' => $total_pages,
    'titles' => $titles
);

// 輸出標題列表
header('Content-Type: application/json');
echo json_encode($data);

上面這個是一次性全部把文件讀取,效率上會慢一點,但是80萬數據還是很快的,下面這個是我優化的,存放千萬行數據不是問題:

🔒 隱藏內容:會員可查看

<?php
$filename = "huizong.txt";

// 打開標題文件
$handle = fopen($filename, "r");

// 獲取文件總行數
$total = count(file($filename));

// 設置每頁顯示的標題數量和當前頁的 pageid
$per_page = 100;
$page_id = isset($_GET['pageid']) ? intval($_GET['pageid']) : 1;

// 計算總頁數
$total_pages = ceil($total / $per_page);

// 計算偏移量
$offset = ($page_id - 1) * $per_page;

// 讀取指定偏移量和行數的標題
$titles = array();
if ($handle) {
    // 跳過偏移量之前的行
    for ($i = 0; $i < $offset; ++$i) {
        fgets($handle);
    }
    // 讀取指定行數的標題
    for ($i = 0; $i < $per_page; ++$i) {
        $title = fgets($handle);
        if ($title !== false) {
            $titles[] = trim($title);
        } else {
            break;
        }
    }
    fclose($handle);
}

// 將標題、總行數、總頁數等信息組成關聯數組
$data = array(
    'total' => $total,
    'total_pages' => $total_pages,
    'titles' => $titles
);

// 輸出標題列表及相關信息
header('Content-Type: application/json');
echo json_encode($data);

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

PHP ob函数记录

PHP ob函數記錄 語言筆記 PHP

下面3個函數的用法 ob_get_contents(); ob_end_clean(); ob_start(); 可以藉助這幾個函數實現緩衝本地文件,以及執行本地腳本代碼。 使用ob_start()把輸出的代碼存到緩衝區,頁面不會顯示出來; 然後用ob_get_contents得到緩衝區的數據。 o…
👁 141
PHP preg

PHP preg 語言筆記 PHP

preg_match_all 函數用於執行一個全局正則表達式匹配。preg_match_all() 語法int preg_match_all ( string $pattern , string $subject [, array &amp;$matches [, int $flags = PREG…
👁 169
PHP 三元运算符与if的详解

PHP 三元運算符與if的詳解 語言筆記 PHP

三元運算符語條件 ? 結果1 : 結果2 說明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。本文對三元運算符和if...else...進行對比詳解,希望對大家有所幫助。今天在改論文在線的時候遇到了一個語句看不懂:$if_summary = $row['IF_SUMMARY']=…
👁 190
PHP强制转换类型

PHP強制轉換類型 語言筆記 PHP PHP採集 PHP與mysql

獲取數據類型1.如果想查看某個表達式的值和類型,用var_dump()。 2.如果只是想得到一個易讀懂的類型的表達方式用於調試,用 gettype()。3.要查看某個類型,不要用 gettype(),而用is_type() 函數。字符串轉換爲數值當一個字符串被當作數字來求值時,根據以下規則來決定結果…
👁 232
php 字符串中是否包含指定字符串的多种方法

php 字符串中是否包含指定字符串的多種方法 語言筆記 PHP

strstrstrstr() 函數搜索一個字符串在另一個字符串中的第一次出現。該函數返回字符串的其餘部分(從匹配點)。如果未找到所搜索的字符串,則返回 false。代碼如下:&lt;?php $email = 'user@example.com'; $domain = strstr($email, …
👁 138

推薦閱讀

(自适应手机端)家政服务公司pbootcms网站模板 育儿保洁保姆网站源码下载 0337

(自適應手機端)家政服務公司pbootcms網站模板 育兒保潔保姆網站源碼下載 0337 實用收藏 pbootcms模板

一款自適應手機端的家政服務公司與育兒保潔保姆PbootCMS網站模板。設計風格溫馨專業,適合展示月嫂、育兒嫂、保姆等服務項目。有助於家政服務機構在線上展示專業形象,吸引新手父母家庭。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4s5.cn…
👁 43
Linux 将多个换行替换为单个换行

Linux 將多個換行替換爲單個換行 踩坑總結

遇到一個噁心的人,八十塊錢改一個代碼,而且還要遠程向日葵修改,本來是PHP後端的調用問題,行,那就改了吧,可是這傢伙看我幾分鐘搞定了,於是要求我給他把前端頁面也要修改,我就無語了!一個問題收一次錢,他偏想一堆問題給一個問題的錢,真當技術大白菜麼!之前也打過不少交道,每次改點啥東西,一個勁的講價,我給…
👁 154
msvcp140.dll重新安装的解决方法(dll文件缺失修复)

msvcp140.dll重新安裝的解決方法(dll文件缺失修復) 踩坑總結

msvcp140.dll是vs2010編譯的程序默認的庫文件。 msvcp140.dll可以解決某些大型遊戲或應用程序由於vs2010編譯系統中缺失此dll而出現的一系列問題。 msvcp140.dll是vs2010編寫的程序運行所必需的dll。很多用戶遇到了不知道如何完成msvcp140.dll重…
👁 178
钻机通用设备制造业网站模板 0603

鑽機通用設備製造業網站模板 0603 實用收藏 易優模板

一款針對鑽機與通用設備製造業的eyoucms網站模板。設計風格專業工業,能夠展示鑽機產品、通用設備、技術參數及工程應用案例。有助於機械設備製造企業在線上樹立專業形象,吸引客戶。模板展示 安裝說明 網站後臺:/login.php 賬號:admin 密碼:admin 相關文章易優CMS安裝常見問題總結易…
👁 57
(自适应手机端)畜牧设备网站模板 自动化养殖设备网站源码 1048

(自適應手機端)畜牧設備網站模板 自動化養殖設備網站源碼 1048 實用收藏 pbootcms模板

一款畜牧設備與自動化養殖設備PbootCMS網站模板,支持PC與WAP端。設計風格專業科技,適合展示畜牧設備、自動化養殖系統及技術方案。有助於養殖設備企業在線上展示產品,吸引養殖場與農業客戶。模板展示 安裝說明 網站後臺:/admin.php 賬號:admin 密碼:admin 解壓密碼:www.4…
👁 40