ホームページ > バックエンド開発 > PHPチュートリアル > PHPはTXTファイルを読み取り、データベースに挿入します

PHPはTXTファイルを読み取り、データベースに挿入します

WBOY
リリース: 2016-06-23 14:04:51
オリジナル
1071 人が閲覧しました

約 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 です

TXT ファイルの形式は

lisi # 121015 # 3900
xiaomao # 130205 #2500

lisa # 1258 # ok

このようにデータをデータに挿入したいです
id name time bak
1 lisi 121 015 3900
2 xiaomao 130205 2500
3 リサ 1258 わかりました






間違いではありませんでした。列の区切り文字は「#」、つまり # の両側にスペースがあります (とても難しいです。気にしないでください)
記入してくださいフィールドリスト、
$t = join("','",explode(' # ', $r));
$sql = "テーブル (name, time, bak) 値に挿入 ('$t ')";

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート