ホームページ >バックエンド開発 >PHPチュートリアル >PHPはTXTファイルを読み取り、データベースに挿入します
約 300 MB の TXT ファイルがあります。PHP でそれを読み取って、それをストリップでデータベースに挿入するにはどうすればよいですか? TXT ファイルの形式はおおよそ次のとおりです。どうすればいいですか?
wangli # 20100203 # 李思
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李思
liwsi # 2015544 # xiaofen
wangli # 2010020 3 # 李思
liwsi # 2015544 # シャオフェン
ワンリ # 20100203 #李思
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李思 liwsi # 2015544 # xiaofen
wangli # 20100203 # 李思
liwsi # 2015544 # xiaofen
これは自分で書いたものですが、読み上げることしかできませんそして、それをデータベースに挿入する方法がわからないことがわかり、TXT ファイルには改行がありますが、PHP で読み取るときは改行がありません。もう 1 つの問題は、fread($data, 1000)、ここでの値は 1000 です。これは 1000 文字を読み取ることを意味します。1 行ずつ読み取る必要がある場合はどうなるでしょうか。さて、このTXTは1000文字だと最終的には半行しか読めないそうです。これは、mysql の場合です。これは LOAD DATA INFILE コマンドを使用して行う必要があります
PHP code?1234567$data = '11.txt';$fp = fopen($data, 'r');while($r = fgets($fp) )) { $t = join("','",explode(' # ', $r)); $sql = "テーブル値に挿入 ('$t')"; //....実行sql}
でも、mysq の場合は……
あなたの指示に従ってこのページを開いたら、直接表示されず、空白になっています〜<?php$data='11.txt';$files=fopen($data,"r");$res=fread($files,100000);echo $res.'<br>';
# さらに、データベースに挿入する必要はありません。 、ファイルが大きい場合、それを分割する方法
PHP に出力して 1 行ずつ表示するにはどうすればよいですか? TXT のデフォルトの改行は、どうすればそれに一致しますか?
行と列のデータ (" # ")?
正しいデータと要件を提供した場合にのみ、実行可能なソリューションを得ることができます
$data = '11.txt';$fp = fopen($data, 'r');while($r = fgets($fp)) { $t = join("','", explode(' # ', $r)); $sql = "insert into 表 values ('$t')"; //.... 执行sql}
モデレーターありがとうございます。これに従うと、ブラウザ出力は TXT テキストのように表示されますが、必要に応じて、それをどのように挿入すればよいですかデータベースですか?
私のデータベースには、id、name、time、bak の 4 つのフィールドがあります
最初のフィールドは、auto_increment である ID です
他の 3 つのフィールドはすべて varchar です
lisi # 121015 # 3900
xiaomao # 130205 #2500
このようにデータをデータに挿入したいです
id name time bak
1 lisi 121 015 3900
2 xiaomao 130205 2500
3 リサ 1258 わかりました
間違いではありませんでした。列の区切り文字は「#」、つまり # の両側にスペースがあります (とても難しいです。気にしないでください)
記入してくださいフィールドリスト、
$t = join("','",explode(' # ', $r));
$sql = "テーブル (name, time, bak) 値に挿入 ('$t ')";