如何在php中将文件中的数据插入表中
我正在编写一个php脚本,它将使用ssh登录到服务器,获取文件中最新的30行代码,并将数据插入表中: system.out文件如下所示,由空格分隔:如何在php中将文件中的数据插入表中,php,Php,我正在编写一个php脚本,它将使用ssh登录到服务器,获取文件中最新的30行代码,并将数据插入表中: system.out文件如下所示,由空格分隔: 2014-05-21-16.30.20 20 2014-05-21-16.31.20 10 2014-05-21-16.32.20 30 2014-05-21-16.33.20 50 2014-05-21-16.34.20 10 2014-05-21-16.35.20 50 2014-05-21-16.36.20 60 这是我的剧本。我的表中有三
2014-05-21-16.30.20 20
2014-05-21-16.31.20 10
2014-05-21-16.32.20 30
2014-05-21-16.33.20 50
2014-05-21-16.34.20 10
2014-05-21-16.35.20 50
2014-05-21-16.36.20 60
这是我的剧本。我的表中有三个字段:日期、服务器、IO。我从上述文件的输出中捕获日期和IO,并从服务器阵列中捕获服务器:
<?php
chdir('c:/php');
include('Net/SSH2.php');
$servers=array('ServerA','ServerB);
foreach ($servers as &$value1) {
$server=$value1.".example.net";
##echo "$server\n";
$ssh = new Net_SSH2($server);
if (!$ssh->login('user', 'passwd')) {
continue;
##exit('Login Failed');
}
$file_name="/system.out";
$line= $ssh->exec("tail -30 file_name");
$rawLines = explode("\n", $line);
$lines = array();
foreach($rawLines as $rawLine){
$rawLine = trim($rawLine);
$parts = explode(" ", $rawLine);
$lines[] = $parts;
$conn=odbc_connect('odbc_id','user','passd');
if (!$conn)
{exit("Connection Failed: " . $conn);}
foreach ($lines as $value) {
$value[0] = '\''.$value[0] .'\'';
$value[0]='to_date('.$value[0].','.'\'YYYY-MM-DD-HH24.MI.SS\')';
$new_value = array();
$new_value[0]=$value[0];
$new_value[1]="'".$value1."'";
$new_value[2]=$value[1].')';
$sql="insert into DB_IO T (T.\"DATE\", T.SERVER, T.IO) VALUES (";
//print($sql."\n");
$my_array= implode(",", $new_value);
print($my_array."\n");
$sql = $sql.$my_array;
echo($sql."\n");
$prepare = odbc_prepare($conn, $sql);
$rs=odbc_execute($prepare);
}
}
}
odbc_close($conn);
exit;
?>
上面代码中的错误,如颜色所示^--«…就在这里('ServerA','SeverB)
除非那只是一个打字错误。你的编辑留下了错误。@Dagon,我明白你的意思了。即使更正了评论,仍然不起作用。我得到文件名:没有这样的文件或目录。@Dagon,为什么这个脚本试图插入同一行两次?