PHP讀取TXT檔案插入資料庫

來源:互聯網
上載者:User
有一個TXT檔案,大概300多MB,想要PHP讀取出來,然後分條插入到資料庫,應該怎麼做呢,TXT檔案格式大概是這樣的。應該怎麼樣做呢

wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen


這是我自己寫的,但是只是可以讀取出並且顯示除了,不知道怎麼插入資料庫,而且TXT檔案裡面本來是有換行的,但是PHP讀取出來都麼有換行,還有一個問題就是如果用fread($data,1000)這個地方的是1000是指讀取1000個字元,那如果需要一行一行的讀取呢。現在這個TXT是一行一行這樣的,如果說1000個字元這樣子,那有可能最後只是讀取到半行

';


回複討論(解決方案)

$data = '11.txt';$fp = fopen($data, 'r');while($r = fgets($fp)) {  $t = join("','", explode(' # ', $r));  $sql = "insert into 表 values ('$t')";  //.... 執行sql}


不過對於 mysql 似乎應該用 LOAD DATA INFILE 指令來完成

PHP code?1234567$data = '11.txt';$fp = fopen($data, 'r');while($r = fgets($fp)) { $t = join("','", explode(' # ', $r)); $sql = "insert into 表 values ('$t')"; //.... 執行sql}

不過對於 mysq……

我按照你的這個,然後開啟這個頁面,直接不顯示,空白的~

$data = '11.txt';$fp = fopen($data, 'r');while($r = fgets($fp)) { echo $t = join("','", explode(' # ', $r));  //$sql = "insert into 表 values ('$t')";  //.... 執行sql}




# 是不用插入到資料庫裡面的,另外如果這個檔案很大,怎麼分割呢

怎麼樣輸出到PHP一行一行來顯示呢,TXT預設換行是\n,這樣的,PHP怎麼匹配出來

你的資料不是按行按列(" # ")做值得嗎?
只有你提供正確的資料和需求,才有可能得到可行的處理方案

$filename="11.txt";$fps=fopen($filename,'r');while(!feof($fps)){$ceshi=fgets($fps);echo $ceshi."
";}fclose($fps);


謝謝版主,我是按照這樣的,然後瀏覽器輸出以後就是和TXT文本一樣顯示出來了,但是如果要插入到資料庫裡面應該怎麼做呢

我資料庫裡面有四個欄位,id,name,time,bak

第一個是ID是auto_increment
其餘三個欄位都是varchar
現在TXT檔案是格式是
lisi # 121015 # 3900
xiaomao # 130205 #2500
lisa # 1258 # ok
我想插入到資料裡面以後的資料是這樣的
id name time bak
1 lisi 121015 3900
2 xiaomao 130205 2500
3 lisa 1258 ok




我沒有弄錯,資料行分隔符號是“ # ”,即 # 號兩邊各有一個空格(真難為你了,不嫌煩嗎?)
補上欄位列表,為
$t = join("','", explode(' # ', $r));
$sql = "insert into 表 ( name, time, bak) values ('$t')";

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.