サンプル このテキストファイルを読み、MySQLに挿入するにはどうすればよいですか?
user id User Name
U456 Mathew
U457 Leon
U458 Cris
U459 Yancy
U460 Jane
というように500Kまで
。私はこのテキストファイルを読んで、MySQLに2つの列にユーザーIDとユーザー名を挿入する必要があります。 PHPでこれをどうやって行うのですか?
サンプル このテキストファイルを読み、MySQLに挿入するにはどうすればよいですか?
user id User Name
U456 Mathew
U457 Leon
U458 Cris
U459 Yancy
U460 Jane
というように500Kまで
。私はこのテキストファイルを読んで、MySQLに2つの列にユーザーIDとユーザー名を挿入する必要があります。 PHPでこれをどうやって行うのですか?
例:
注:Windowsからこれを実行する場合は、前方をエスケープする必要があるファイルパスにスラッシュ。
例:
C:\\path\to\file.txt
は、次のようになります。ここでは
C:\\\\path\\to\\file.txt
はクエリです:
LOAD DATA INFILE '/path/to/sample.txt'
INTO TABLE `database_name`.`table_name`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(
user_id, user_name
)
最初の行を削除して、このコマンドを
LOAD DATA INFILE 'C:\\sample.txt'
INTO TABLE Users
FIELDS TERMINATED BY ' '
LINES TERMINATED BY '\r\n';
を使用
詳細については、 http://tech-gupshup.blogspot.com/2010/04/loading-data-in-mysql-table-from-text.html
に依存しています。 2つのフィールドがタブ文字を使用して区切られている場合は、fgetcsv($f,1000,"\t")
が各行の読み込みに使用されます。それ以外の場合は、フィールドを分割する固定幅のテキストファイルの場合はsubstr()
を使用します(最終的にtrim()
を適用します)。行とフィールドの上に
ループ、と選択肢のデータベースインタフェースを使用します。おそらく、PHPを使用して
db("INSERT INTO tbl (user_id, user_name) VALUES (?,?)", $row);
をこれに類似した何か:
$file = "/path/to/text/file.txt";
$fp = fopen($file, "r");
$data = fread($fp, filesize($file));
fclose($fp);
上記はにテキストファイルを読み込み、変数
$output = explode("\n", $output);
foreach($output as $var) {
$tmp = explode("|", $var);
$userId = $tmp[0];
$userName = $tmp[1];
各エンドラインで爆発してデータをtemp variabレ
$sql = "INSERT INTO table SET userId='$userId', userName='$userName'";
mysql_query($sql);
残りにそこから..ファイルにアクセスして読み取るためにPHPの関数fopenを使って、各ラインのために
をクエリを実行し、かなりシンプルです。ファイルを1行ずつ読み込み、その値をデータベースに挿入します。
http://us3.php.net/manual/en/function.fopen.php
上記のリンクは、ループを使用すると、このタスクで簡単になります。.. fopen関数がどのように機能するかの非常に良い説明を示します。