Blame | Last modification | View Log | RSS feed
<?php/*QBPWCF, Quick Build PHP website Component base on Fedora Linux.Copyright (C) 2014~2026 MIN ZHI, CHENThis file is part of QBPWCF.QBPWCF is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.QBPWCF is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with QBPWCF. If not, see <http://www.gnu.org/licenses/>.*/#使用命名空間qbpwcfnamespace qbpwcf;#assets dir$assetsDir="assets of fileAccess::getTextFilePart_20260708";#初始化參數 lineStart$lineStart=null;#初始化參數 preFileSize$preFileSize=null;#無窮迴圈while(true){#函式說明:#一次取得純文字檔案的內容.#回傳結果:#$result["status"],"true"代表移除成功,"false"代表移除失敗.#$result["error"],錯誤訊息陣列.#$result["function"],當前執行的函數名稱.#$result["cmd"],執行的指令.#$result["content"],取得的檔案內容.#$result["length"],取得的內容長度.#$result["EOF"],識別是否已經到檔案結尾,"true"代表是,"false"代表不是.#$result["nextLine"],整數,下一行的行號,亦即下次來讀取下一行時,lineStart參數要給予的數值.#$result["fileSize"],整數,檔案的大小,用於下次來讀取下一行時,preFileSize參數要給予的數值.#必填參數:#$conf["file"],字串,檔案的路徑與名稱.$conf["file"]=$assetsDir."/ssl_access_log";#可省略參數:#如果有 $lineStartif($lineStart!==null){#$conf["lineStart"],整數,要從第幾行開始,起始點為1.$conf["lineStart"]=$lineStart;}#if end#如果有 preFileSizeif($preFileSize!==null){#$conf["preFileSize"],整數,上次透過本函式取得的fileSize結果,用於確認檔案是否有被rotate過,預設不設置.$conf["preFileSize"]=$preFileSize;}#if end#可省略參數:#無#參考資料:#無.#備註:#無$getTextFilePart=fileAccess::getTextFilePart($conf);#取得當前讀取的行號.$lineNo=$conf["lineStart"];#卸除變數,避免後續引用錯誤.unset($conf);#如果執行異常if($getTextFilePart["status"]==="false"){#debugvar_dump($getTextFilePart);#結束執行並回傳 shell 1exit(1);}#if end#取得下次要取得的行號$lineStart=$getTextFilePart["nextLine"];#取得檔案的大小$preFileSize=(int)$getTextFilePart["fileSize"];#取得行內容$lineContent=$getTextFilePart["content"];#取得目前的記憶體使用狀況$memoeryUsage=\memory_get_usage();#提示取得的內容與記憶體使用狀況echo "memUsage:".$memoeryUsage." lineNo:".$lineNo." "."content:".$lineContent.PHP_EOL;#如果已經到檔案結尾了if($getTextFilePart["EOF"]==="true"){#跳出 while loopbreak;}#if end}#while end