真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php讀取數(shù)據(jù)庫大文件 php導(dǎo)入大量數(shù)據(jù)到數(shù)據(jù)庫

php如何讀取CSV大文件并且將其導(dǎo)入數(shù)據(jù)庫示例

思路:

目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、博望網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫

示例

文件夾結(jié)構(gòu)

/

file.csv????//csv大文件,這里只模擬三行數(shù)據(jù),不考慮運行效率(PS:csv文件格式很簡單,文件一般較小,解析很快,運行效率的瓶頸主要在寫入數(shù)據(jù)庫操作)

index.php????//php文件

file.csv

singi,20

lily,19

daming,23

index.php

/**

*?讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫

*/

//獲取數(shù)據(jù)庫實例

$dsn?=?'mysql:dbname=test;host=127.0.0.1';

$user?=?'root';

$password?=?'';

try?{

$db?=?new?PDO($dsn,?$user,?$password);

}?catch?(PDOException?$e)?{

echo?'Connection?failed:?'?.?$e-getMessage();

}

//讀取file.csv文件

if?(($handle?=?fopen("file.csv",?"r"))?!==?FALSE)?{

while?(($row?=?fgetcsv($handle,?1000,?","))?!==?FALSE)?{

//寫入數(shù)據(jù)庫

$sth?=?$db-prepare('insert?into?test?set?name=:name,age=:age');

$sth-bindParam(':name',$row[0],PDO::PARAM_STR,255);

$sth-bindParam(':age',$row[1],PDO::PARAM_INT);

$sth-execute();

}

fclose($handle);

}

數(shù)據(jù)表

CREATE?TABLE?`test`?(

`id`?INT(10)?UNSIGNED?NOT?NULL?AUTO_INCREMENT,

`name`?VARCHAR(255)?NULL?DEFAULT?''?COLLATE?'utf8mb4_bin',

`age`?INT(10)?NULL?DEFAULT?'0',

PRIMARY?KEY?(`id`)

)

COLLATE='utf8mb4_bin'

ENGINE=InnoDB;

運行結(jié)束后,數(shù)據(jù)庫中會插入csv中的三行數(shù)據(jù)

php 如何讀取大文件里的內(nèi)容

由于PHP的file函數(shù)是一次性將所有內(nèi)容讀入內(nèi)存,而php為了防止一些寫的比較糟糕的程序占用太多的內(nèi)存而導(dǎo)致系統(tǒng)內(nèi)存不足,使服務(wù)器出現(xiàn)宕機,所以默認情況下 限制只能最大使用內(nèi)存16M,這是通過php.ini里的memory_limit = 16M來進行設(shè)置,這個值如果設(shè)置-1,則內(nèi)存使用量不受限制.

可以使用php的fseek來進行文件操作,它不需要將文件的內(nèi)容全部讀入內(nèi)存,而是直接通過指針來操作,效率較高.

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

fgetcsv 可以讀取fopen打開的文件,并讀取一行,

這樣可以防止文件太大而內(nèi)存溢出

然后每讀取一定行數(shù),入庫一次,


網(wǎng)頁題目:php讀取數(shù)據(jù)庫大文件 php導(dǎo)入大量數(shù)據(jù)到數(shù)據(jù)庫
路徑分享:http://weahome.cn/article/hhpdoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部