Ben şu anda bir günlük dosyası okumak ve bir MySQL veritabanı veri koymak için izin basit bir php komut dosyası yazıyorum. Hangi sırasında, o da bana aynı zamanda MySQL veritabanı içine sokulmaktadır bazı verileri vermek için bir site web isteklerini yapar. Ben, 500 kayıtları eklemek için bekliyoruz sonra benim ana beni yönlendirmek, ama bununla birlikte, her zaman sunucu hatası biter ve ben veritabanını kontrol ettiğimde, sadece yaklaşık 65-70 kayıtları sadece girer gerekir. Ben kontrol ettim, ve komut kayıtların küçük bir sayı ile çalışır gibi günlük dosyası ile hiçbir sorun yoktur, örneğin, 60. Lütfen yardım edin.
<?php
//Make a connection
$connection = mysql_connect("localhost:3306", "root", "XXXXXXXX");
//Select a table
$db_select = mysql_select_db("major_project", $connection);
//open file
$report = fopen('C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\HN.F\report.txt', 'r') or exit("Unable to open report.txt");
//insert operation
while(!feof($report))
{
$array = explode("\t", fgets($report));
list($seg, $ts, $rule, $sev, $ref, $ref2, $source, $sourcep, $dest, $destp, $ser) = $array;
if($seg != 'Segment')
{
if(count($array) == 12)
{
list($seg, $ts, $rule, $sev, $ref, $ref2, $source, $sourcep, $dest, $destp, $ser) = $array;
$ipaddrloc = fopen('http://freegeoip.appspot.com/json/'.$source, 'r');
while(!feof($ipaddrloc))
{
$var = fgets($ipaddrloc);
$lat = json_decode($var)->latitude;
$long = json_decode($var)->longitude;
$country = json_decode($var)->countryname;
$city = json_decode($var)->city;
}
mysql_query("INSERT INTO `major_project`.`logs` (`LOG_NUMBER`, `Segment`, `Timestamp`, `Rule`, `Severity`, `Reference system`, `Reference`, `Source`, `Source port`, `Dest.`, `Dest. port`, `Service`, `Country`, `City`, `Latitude`, `Longitude`) VALUES (null, '$seg', '$ts', '$rule', '$sev', '$ref', '$ref2', '$source', '$sourcep', '$dest', '$destp', '$ser', '$country', '$city', '$lat', '$long')");
}
else
{
list($seg, $ts, $rule, $sev, $ref, $ref2, $source, $sourcep, $flag, $dest, $destp, $ser) = $array;
$ipaddrloc = fopen('http://freegeoip.appspot.com/json/'.$source, 'r');
while(!feof($ipaddrloc))
{
$var = fgets($ipaddrloc);
$lat = json_decode($var)->latitude;
$long = json_decode($var)->longitude;
$country = json_decode($var)->countryname;
$city = json_decode($var)->city;
}
mysql_query("INSERT INTO `major_project`.`logs` (`LOG_NUMBER`, `Segment`, `Timestamp`, `Rule`, `Severity`, `Reference system`, `Reference`, `Source`, `Source port`, `Flag`, `Dest.`, `Dest. port`, `Service`, `Country`, `City`, `Latitude`, `Longitude`) VALUES (null, '$seg', '$ts', '$rule', '$sev', '$ref', '$ref2', '$source', '$sourcep', '$flag', '$dest', '$destp', '$ser', '$country', '$city', '$lat', '$long')");
}
}
}
header("Location: startpage.html");
>