user id User Name
U456 Mathew
U457 Leon
U458 Cris
U459 Yancy
U460 Jane
等爲500K。
我需要讀取該文本文件,並插入到MySQL在兩列說,用戶ID和用戶名。我如何在PHP中執行此操作?
user id User Name
U456 Mathew
U457 Leon
U458 Cris
U459 Yancy
U460 Jane
等爲500K。
我需要讀取該文本文件,並插入到MySQL在兩列說,用戶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
取決於。如果兩個字段使用TAB字符分隔,則fgetcsv($f,1000,"\t")
將工作在每行中讀取。否則,使用substr()
如果它是一個固定寬度欄文本文件分割領域(應用trim()
最終)。
遍歷行和領域,並使用你選擇的數據庫接口:
db("INSERT INTO tbl (user_id, user_name) VALUES (?,?)", $row);
使用PHP,可能也有類似這樣:
$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];
告訴它在每個Endline爆炸,然後將數據存儲在temp variab萊
$sql = "INSERT INTO table SET userId='$userId', userName='$userName'";
mysql_query($sql);
執行查詢的每一行
使用PHP的fopen函數來訪問和讀取文件。從那裏休息是非常簡單的。逐行讀取文件並將值插入到數據庫中。
http://us3.php.net/manual/en/function.fopen.php
上面的鏈接給出了fopen函數是如何工作的一個很好的說明..使用循環將很容易完成這一任務。