您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php实现文本数据导入SQL SERVER_PHP教程

2024/3/17 4:41:54发布22次查看
php实现文本数据导入sql server php将文本文件导入mysql我们经常遇到,但是如果是导入到sqlserver又应该如何操作呢,下面就给大家分享一下本人的操作方法,感觉效率还不错,这里推荐给大家。
我测试是支持的csv,sql,txt
其实其他格式也可以,只不过我用不到而已
速度是差不多是每秒一万吧
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
$val) {
if(is_array($val)) {
$data[$key] = array_iconv($val, $input, $output);
} else {
$data[$key] = mb_convert_encoding($data, $output, $encoded);
}
}
return $data;
}
}
function microtime_float(){
return microtime(true);
}
if ($_session['id']''){
if (@$_post[submit]){
if ((($_files[file][type] == text/plain)
|| ($_files[file][type] == application/vnd.ms-excel) || ($_files[file][type] == application/octet-stream)
|| ($_files[file][type] == application/vnd.openxmlformats-officedocument.spreadsheetml.sheet))
&& ($_files[file][size]
{
if ($_files[file][error] > 0)
{
echo return code: . $_files[file][error] .
;
}
else
{
$name=$_files[file][name];
$name=iconv('utf-8', 'gb2312//ignore', $_files['file']['name']);
echo upload: . $_files[file][name] .
;
echo size: . ($_files[file][size] / 1048576) . mb
;
$exit= pathinfo($_files[file][name], pathinfo_extension);
$exit='.' .$exit;
if ($exit==.asp or $exit==.php or $exit==.jsp or $exit==.aspx){
echo 我擦,你想做什么?;
exit;
}
$size=filesize($_files[file][tmp_name]);
$_files[file][name]=md5($_files[file][name].$size).$exit;
if (file_exists(uploadhehe/ . $_files[file][name]))
{
echo $_files[file][name] . 已经存在 ;
}
else
{
move_uploaded_file($_files[file][tmp_name],
uploadhehe/ . $_files[file][name]);
echo
开始自动处理文件
;
$begin = microtime_float();
$file=uploadhehe/ . $_files[file][name];
$handle = @fopen($file, r);
//$handle=array_iconv('utf-8','gbk',$handle);
$total=0;
$over=0;
if ($handle) {
$sql=insert into [dbo].[own_user_data1] ([name],[context],[md5],[data]) values;
$num=0;
$_files['file']['name']=iconv('utf-8', 'gb2312//ignore', $_files['file']['name']);
while (!feof($handle)) {
$buffer = fgets($handle, 2000);
$buffer=str_replace(\n, , $buffer);
$line_array=explode(\r\n, $buffer);
$context=htmlspecialchars(addslashes($line_array[0]));
$context=str_replace(', ',', $context);
$context=str_replace('', ',', $context);
$context=array_iconv($context);
$date=date('y-m-d h:i:s',time());
if($num
$sql.=('{$name}','{$context}','{$_files['file']['name']}','{$date}'),;
}else{
$sql.=('{$name}','{$context}','{$_files['file']['name']}','{$date}');
$a=sqlsrv_query($conn,$sql);
// if( $a === false ) {
// die( print_r( sqlsrv_errors(), true));
// }
$num=0;
$sql=insert into [dbo].[own_user_data1] ([name],[context],[md5],[data]) values;
}
$num++;
$total++;
}
}
fclose($handle);
$sql1=insert into [dbo].[own_user_info] ([uid],[md5],[date],[name],[size],[gold]) values ('{$_session[id]}','{$_files[file][name]}','{$date}','{$name}','{$total}','1');
sqlsrv_query($conn,$sql1);
if( $a === false ) {
die( print_r( sqlsrv_errors(), true));
}
//处理没有插入到数据库的记录
if(substr($sql, strlen($sql)-1,1)==,){
$sql=substr($sql, 0,strlen($sql)-1);
sqlsrv_query($conn,$sql);
}
$end = microtime_float();
$time = $end-$begin;
echo 共导入{$total}条记录,耗时{$time}秒;
}
}
}
else
{
echo 上传失败!;
}
}
}else{
header(location: login.php);
}
?>
以上所述就是本文的全部内容了,希望大家能够喜欢。
http://www.bkjia.com/phpjc/1000067.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1000067.htmltecharticlephp实现文本数据导入sql server php将文本文件导入mysql我们经常遇到,但是如果是导入到sqlserver又应该如何操作呢,下面就给大家分享一下本人...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product