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

PHP讀取CSV大文件導(dǎo)入數(shù)據(jù)庫(kù)的實(shí)例

 更新時(shí)間:2017年07月24日 09:59:21   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇PHP讀取CSV大文件導(dǎo)入數(shù)據(jù)庫(kù)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

PHP如何對(duì)CSV大文件進(jìn)行讀取并導(dǎo)入數(shù)據(jù)庫(kù)?

對(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ù):

/**
 * 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)用方法:

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

print_r($data);

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

至于數(shù)據(jù)如何入庫(kù)本文不再詳細(xì)講述。

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

這篇PHP讀取CSV大文件導(dǎo)入數(shù)據(jù)庫(kù)的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 小偷PHP+Html+緩存

    小偷PHP+Html+緩存

    小偷PHP+Html+緩存...
    2006-12-12
  • PHP中Fatal error session_start()錯(cuò)誤解決步驟

    PHP中Fatal error session_start()錯(cuò)誤解決步驟

    這篇文章主要介紹了PHP中Fatal error session_start()錯(cuò)誤解決步驟,著重于錯(cuò)誤的排除步驟,一步一步排查下去,肯定可以解決這個(gè)錯(cuò)誤,需要的朋友可以參考下
    2014-08-08
  • 用PHP實(shí)現(xiàn) 上一篇、下一篇的代碼

    用PHP實(shí)現(xiàn) 上一篇、下一篇的代碼

    主頁(yè)是index.php;傳遞的值是id(數(shù)據(jù)庫(kù)的主鍵);文章的數(shù)據(jù)庫(kù)是article,其中文章標(biāo)題的列是title
    2012-09-09
  • php 解決舊系統(tǒng) 查出所有數(shù)據(jù)分頁(yè)的類(lèi)

    php 解決舊系統(tǒng) 查出所有數(shù)據(jù)分頁(yè)的類(lèi)

    不同之處在于 沒(méi)有實(shí)現(xiàn)分頁(yè)的系統(tǒng), 默認(rèn)全部查出來(lái) 現(xiàn)在就要不能動(dòng)后臺(tái)的基礎(chǔ)上進(jìn)行操作 可以采用 相應(yīng)的 如下 代碼
    2012-08-08
  • 利用PHP獲取漢字首字母并且分組排序詳解

    利用PHP獲取漢字首字母并且分組排序詳解

    這篇文章主要給大家介紹了關(guān)于如何利用PHP獲取漢字首字母并且分組排序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用php具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • PHP用身份證號(hào)獲取星座和生肖的方法

    PHP用身份證號(hào)獲取星座和生肖的方法

    PHP用身份證號(hào)獲取星座和生肖,實(shí)用的PHP函數(shù)
    2013-11-11
  • laravel下trait的使用代碼實(shí)例詳解

    laravel下trait的使用代碼實(shí)例詳解

    這篇文章主要介紹了laravel下trait的使用代碼實(shí)例詳解,使用trait可以提高代碼的復(fù)用性,有感興趣的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • php實(shí)現(xiàn)微信掃碼支付

    php實(shí)現(xiàn)微信掃碼支付

    最近一段弄微信網(wǎng)頁(yè)掃碼支付,看官方文檔是暈頭轉(zhuǎn)向。其實(shí)掃碼支付很簡(jiǎn)單,只是讓官網(wǎng)指來(lái)指去變的很麻煩,我想如果有個(gè)實(shí)例,會(huì)容易很多。下面就把實(shí)例分享給大家
    2017-03-03
  • easyui的tabs update正確用法分享

    easyui的tabs update正確用法分享

    jQuery EasyUI是一組基于jQuery的UI插件集合,而jQuery EasyUI的目標(biāo)就是幫助web開(kāi)發(fā)者更輕松的打造出功能豐富并且美觀的UI界面。下面說(shuō)一下tabs update的正確用法
    2014-03-03
  • thinkPHP中volist標(biāo)簽用法示例

    thinkPHP中volist標(biāo)簽用法示例

    這篇文章主要介紹了thinkPHP中volist標(biāo)簽用法,結(jié)合實(shí)例形式分析了thinkPHP中volist標(biāo)簽的功能、屬性及相關(guān)使用技巧,需要的朋友可以參考下
    2016-12-12

最新評(píng)論

新密市| 榕江县| 望奎县| 唐山市| 本溪市| 和政县| 鄂伦春自治旗| 海伦市| 永兴县| 辽阳市| 营山县| 建湖县| 常宁市| 修文县| 新河县| 新郑市| 许昌市| 文水县| 芮城县| 界首市| 东源县| 德惠市| 杨浦区| 呼和浩特市| 黄骅市| 秦皇岛市| 思南县| 夏邑县| 东丰县| 盐山县| 洛隆县| 新民市| 石屏县| 新泰市| 凤城市| 新宁县| 阿克苏市| 象州县| 芷江| 涟源市| 拜泉县|