亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHP實現文件內容的分頁讀取

標簽:
PHP

/**

     * 文件内容分页读取函数

     * @param  string/Array $file_path_arr 文件名

     * @param  int $start 分页起始行数

     * @return json

     * @author gongzheng <[email protected]>

     * @since 2014年2月10日 15:23:51

     */

function filePage( $file_path_arr, $start, $limit = 10 ) {

        $data = array( ); //返回数据格式

        $line = -1; //数据总行数的统计

        foreach ( $file_path_arr as $key => $file_path ) {

            $file_handle = new SplFileObject( $file_path );

            $file_line = -1;

            while ( !$file_handle->eof() ) {

                $line++;

                $file_line++;

                if ( $line == $start ) {

                    for ( $i = 0; $i < $limit; $i++ ) {

                        if ( !$file_handle->eof() ) {

                            $file_handle->seek( $file_line );

                            $line_arr = str_getcsv( $file_handle->current() );

                            if ( isset( $line_arr[2] ) ) {

                                $data[] = $line_arr;

                            }

                        }

                        $file_line++;

                    }

                    $current_key = $key + 1;

                    //如果小于$limit接着读取下一个文件

                    if ( isset( $file_path_arr[$current_key] ) ) {

                        while ( count( $data ) < $limit ) {

                            if ( !isset( $file_path_arr[$current_key] ) ) {

                                break;

                            }

                            $file_handle = new SplFileObject( $file_path_arr[$current_key] );

                            $num = $limit - (count( $data ));

                            for ( $i = 0; $i < $num; $i++ ) {

                                if ( !$file_handle->eof() ) {

                                    $file_handle->seek( $i );

                                    $line_arr = str_getcsv( $file_handle->current() );

                                    if ( isset( $line_arr[2] ) ) {

                                        $data[] = $line_arr;

                                    }

                                }

                            }

                            $current_key++;

                        }

                    }

                    break;

                }

            }

            break;

        }

        return $data;

    }

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消