|
不 BB, 看代码.
- <?php
- /// 数据库连接
- function conn($config) {
- $db = new mysqli(
- $config["host"],
- $config["user"],
- $config["pwd"],
- $config["database"],
- $config["port"]
- );
- if (!$db) {
- throw new \Exception("error: can't connect db");
- }
- $db->query("set character set 'utf8'");
- $db->query("set names 'utf8'");
- return $db;
- }
- function import($filename, $delimiter = '-') {
- $handle = fopen($filename, "r");
- $ar = Array();
-
- while (($buffer = fgets($handle, 4096)) !== false) {
- array_push($ar, explode($delimiter, $buffer));
- }
- if (!feof($handle)) {
- echo "Error: unexpected fgets() fail\n";
- }
- return $ar;
- }
- function _save($middle, $conn, $table) {
- if (!$middle) {
- return NULL;
- }
- $middle = rtrim($middle, ',');
- $query =<<<QEOF
- INSERT INTO ${table}(`uname`, `pwd`) VALUES ${middle};
- QEOF;
- return $conn->query($query);
- }
- /// 数据写入
- function save($conn, $ar, $table = 'sometable', $count = 50) {
- $middle = '';
- foreach($ar as $i => $item) {
- $uname = $item[0];
- $pwd = rtrim($item[1], "\n");
- $middle .= "('${uname}', '${pwd}'),";
-
- if (($i + 1) % $count == 0) {
- _save($middle, $conn, $table);
- $middle = '';
- }
- }
- _save($middle, $conn, $table);
- }
- $conn = conn([
- 'host' => '127.0.0.1', /// 地址
- 'user' => 'root', /// 用户名
- 'pwd' => '', /// 密码
- 'port' => '3306', /// 端口
- 'database' => 'test', /// 数据库
- ]);
- $ar = import('test.txt');
- save($conn, $ar, 'test');
复制代码 |
|