php实现文本数据导入SQL SERVER

别人的,先做个记录,搞不清是导入从MYSQL->SQLSERVER 还是从 sqlserver - > mysql
原文地址:http://www.jb51.net/article/66205.htm


"; ?>

下面

$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"] < 198102805))
        {
            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<999){ $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.jb51.net/article/66205.htm

你可能感兴趣的:(php实现文本数据导入SQL SERVER)