最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP按行讀取、處理較大CSV文件的代碼實(shí)例

 更新時(shí)間:2014年04月09日 11:59:15   作者:  
這篇文章主要介紹了PHP按行讀取、處理較大CSV文件的代碼實(shí)例,需要的朋友可以參考下

對(duì)于數(shù)百萬(wàn)條數(shù)據(jù)量的CSV文件,文件大小可能達(dá)到數(shù)百M(fèi),如果簡(jiǎn)單讀取的話很可能出現(xiàn)超時(shí)或者卡死的現(xiàn)象。

為了成功將CSV文件里的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù),分批處理是非常必要的。

下面這個(gè)函數(shù)是讀取CSV文件中指定的某幾行數(shù)據(jù):

復(fù)制代碼 代碼如下:

/**
 * csv_get_lines 讀取CSV文件中的某幾行數(shù)據(jù)
 * @param $csvfile csv文件路徑
 * @param $lines 讀取行數(shù)
 * @param $offset 起始行數(shù)
 * @return array
 * */
function csv_get_lines($csvfile, $lines, $offset = 0) {
    if(!$fp = fopen($csvfile, 'r')) {
     return false;
    }
    $i = $j = 0;
 while (false !== ($line = fgets($fp))) {
  if($i++ < $offset) {
   continue;
  }
  break;
 }
 $data = array();
 while(($j++ < $lines) && !feof($fp)) {
  $data[] = fgetcsv($fp);
 }
 fclose($fp);
    return $data;
}

調(diào)用方法:
復(fù)制代碼 代碼如下:

$data = csv_get_lines('path/bigfile.csv', 10, 2000000);
print_r($data);

函數(shù)主要采用行定位的思路,通過(guò)跳過(guò)起始行數(shù)來(lái)實(shí)現(xiàn)文件指針定位。

上述函數(shù)對(duì)500M以?xún)?nèi)的文件進(jìn)行過(guò)測(cè)試,運(yùn)行通暢,對(duì)于更大的文件未做測(cè)試,請(qǐng)斟酌使用或加以改進(jìn)。

相關(guān)文章

  • php實(shí)現(xiàn)天干地支計(jì)算器示例

    php實(shí)現(xiàn)天干地支計(jì)算器示例

    天干地支,簡(jiǎn)稱(chēng)“干支”,這是中國(guó)古代的歷法,下面使用php實(shí)現(xiàn)一個(gè)天干地支計(jì)算器,需要的朋友可以參考下
    2014-03-03
  • Laravel框架實(shí)現(xiàn)的rbac權(quán)限管理操作示例

    Laravel框架實(shí)現(xiàn)的rbac權(quán)限管理操作示例

    這篇文章主要介紹了Laravel框架實(shí)現(xiàn)的rbac權(quán)限管理操作,結(jié)合實(shí)例形式分析了Laravel框架權(quán)限控制rbac相關(guān)數(shù)據(jù)庫(kù)創(chuàng)建、讀寫(xiě)及權(quán)限判斷等操作技巧,需要的朋友可以參考下
    2019-01-01
  • form表單傳遞數(shù)組數(shù)據(jù)、php腳本接收的實(shí)例

    form表單傳遞數(shù)組數(shù)據(jù)、php腳本接收的實(shí)例

    下面小編就為大家?guī)?lái)一篇form表單傳遞數(shù)組數(shù)據(jù)、php腳本接收的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Laravel 5使用Laravel Excel實(shí)現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出的功能詳解

    Laravel 5使用Laravel Excel實(shí)現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出的功能詳解

    這篇文章主要給大家介紹了關(guān)于在Laravel 5中如何使用Laravel Excel實(shí)現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下。
    2017-10-10
  • CI(CodeIgniter)框架中URL特殊字符處理與SQL注入隱患分析

    CI(CodeIgniter)框架中URL特殊字符處理與SQL注入隱患分析

    這篇文章主要介紹了CI(CodeIgniter)框架中URL特殊字符處理與SQL注入隱患,結(jié)合實(shí)例形式分析了CodeIgniter框架中針對(duì)特殊字符的過(guò)濾及SQL注入隱患的相關(guān)原理,需要的朋友可以參考下
    2019-02-02
  • PHPMailer發(fā)送郵件

    PHPMailer發(fā)送郵件

    PHPMailer是一個(gè)封裝好的PHP郵件發(fā)送類(lèi),支持發(fā)送HTML內(nèi)容的電子郵件,以及圖片附件,前提要設(shè)置好郵件服務(wù)器就能實(shí)現(xiàn)郵件發(fā)送功能。本文給大家分享PHPMailer發(fā)送郵件功能,一起看看吧
    2016-12-12
  • PHP解決高并發(fā)問(wèn)題(opcache)

    PHP解決高并發(fā)問(wèn)題(opcache)

    這篇文章主要介紹了PHP解決高并發(fā)問(wèn)題(opcache),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • php獲取本年、本月、本周時(shí)間戳和日期格式的實(shí)例代碼

    php獲取本年、本月、本周時(shí)間戳和日期格式的實(shí)例代碼

    這篇文章主要介紹了php獲取本年、本月、本周時(shí)間戳和日期格式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 實(shí)例分析10個(gè)PHP常見(jiàn)安全問(wèn)題

    實(shí)例分析10個(gè)PHP常見(jiàn)安全問(wèn)題

    在本篇文章里小編給各位分享了關(guān)于10個(gè)PHP常見(jiàn)安全問(wèn)題以及相關(guān)實(shí)例代碼,需要的朋友們學(xué)習(xí)參考下。
    2019-07-07
  • Laravel定時(shí)任務(wù)的每秒執(zhí)行代碼

    Laravel定時(shí)任務(wù)的每秒執(zhí)行代碼

    今天小編就為大家分享一篇Laravel定時(shí)任務(wù)的每秒執(zhí)行代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10

最新評(píng)論

酒泉市| 马关县| 松滋市| 呼伦贝尔市| 东至县| 潮州市| 荔波县| 牡丹江市| 三门峡市| 吐鲁番市| 西乌| 永福县| 汝州市| 兰西县| 宜丰县| 云南省| 阳泉市| 镇赉县| 商丘市| 涿州市| 淮滨县| 毕节市| 任丘市| 廊坊市| 宁陕县| 舟曲县| 隆化县| 肥乡县| 前郭尔| 宝丰县| 漳州市| 南宫市| 万山特区| 临潭县| 阆中市| 娄底市| 进贤县| 崇礼县| 云南省| 清水河县| 阜城县|