salut,
J'ai déja posté pour ca mais ca répond tjr pas!!!
Voici mon code :
<?ini_set ("max_execution_time", "21600");
require ("config.inc");
//////
$con=mysql_connect("127.0.0.1",$db_user,$db_pass);
$conex=mysql_select_db($db_name,$con);
//$con_string = "host=$db_host port=5432 dbname=$db_name user=$db_user password=$db_pass";
//$conex = pg_connect ($con_string);
$log = fopen ($log_file, "r");
if ($log <> "") {
$err = 0;
$pasadas = 0;
if (!feof($log)) {
$linea = fgets($log);
$arr = explode(' ', $linea);
list ($hora, $mili) = explode ('.', $arr[0]);
$tiempo = date("m/d/y H:i:s", $hora).".$mili";
///////////
$res = mysql_query ("SELECT time FROM log WHERE time = '$tiempo';") or die(mysql_error());
//$res = pg_query ($conex, "SELECT time FROM log WHERE time = '$tiempo'");
if (mysql_num_rows($res))
{
$continua = 0;
echo "<FONT color=\"RED\">No se puede procesar este archivo, ya existe un registro en la B.D con el mismo tiempo que el primer registro del archivo, posiblemente se deba a que este ya fue procesado</FONT>";
$start = time();
}
else
{
$continua = 1;
$start = time();
}
}
$i = 0;
while (!feof($log) && $continua == 1) {
$j = 0;
foreach ($arr as $str)
if ($str <> '') {
$registro[$j] = $str;
$j++;
}
list ($tiempo, $transcurrido, $equipo_remoto, $codigo_status, $bytes, $metodo, $url, $autenticacion, $peerstatus_peerhost, $tipo) = $registro;
if (strpos($url, '//') != false)
list ($proto, $aux, $dir, $dir_arg) = explode ('/', $url, 4);
else
list ($dir, $dir_arg) = explode ('/', $url, 4);
$dir_arg = addslashes ($dir_arg);
$dir_arg = substr ($dir_arg, 0, 1023);
list ($codigo, $status) = explode ('/', $codigo_status);
list ($peerstatus, $peerhost) = explode ('/', $peerstatus_peerhost);
list ($hora, $mili) = explode ('.', $tiempo);
$tiempo = date("m/d/y H:i:s", $hora).".$mili";
list ($tipo1, $tipo2) = explode ('/', $tipo); ////////////?????
$res = mysql_query ("INSERT INTO log (time,elapsed,remote_host,code,status,bytes,method,protocolo,direccion,argumento_url,username,peerstatus,peerhost,type1,type2) VALUES('$tiempo',$transcurrido,'$equipo_remoto','$codigo','$status',$bytes,'$metodo','$proto','$dir','$dir_arg','$autenticacion','$peerstatus','$peerhost','$tipo1','$tipo2');") or die(mysql_error());
//$res = pg_query ($conex, "INSERT INTO log (time, elapsed, remote_host,code, status, bytes, method, protocolo, direccion, argumento_url, username, peerstatus, peerhost, type1, type2) VALUES ('$tiempo', $transcurrido, '$equipo_remoto', '$codigo', '$status', $bytes, '$metodo', '$proto', '$dir', '$dir_arg', '$autenticacion', '$peerstatus', '$peerhost', '$tipo1', '$tipo2')");
if (mysql_affected_rows())
//if (pg_affected_rows($res))
$pasadas++;
else {
$err++;
echo "<BR /><FONT color=\"RED\">Error insertando: INSERT INTO log (time, elapsed, remote_host,code, status, bytes, method, protocolo, direccion, argumento_url, username, peerstatus, peerhost, type1, type2) VALUES ('$tiempo', $transcurrido, '$equipo_remoto', '$codigo', '$status', $bytes, '$metodo', '$proto', '$dir', '$dir_arg', '$autenticacion', '$peerstatus', '$peerhost', '$tipo1', '$tipo2')</FONT>";
}
$linea = fgets($log);
$arr = explode(' ', $linea);
$j = 0;
foreach ($arr as $str)
if ($str <> '') {
$registro[$j] = $str;
$j++;
}
}
///////////////
mysql_query ("VACUUM ANALYZE");
//pg_query ("VACUUM ANALYZE");
mysql_close ();
//pg_close ($conex);
fclose($log);
$end = time();
$duracion = ($end - $start) / 60.0;
$start = date("m/d/y H:i:s", $start);
$end = date("m/d/y H:i:s", $end);
$prom = ($err * 100.0)/($pasadas + $err);
echo "<BR />Procesadas: <b>$pasadas</b><BR />Errores: <b>$err</b><BR />Promedio Errores: $prom%";
echo "<BR />Inicio: <b>$start</b> - Finalización: <b>$end</b> - Duración: <b>$duracion</b> Minutos";
}
?>
Ca me sort l'erreur :
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\squid_log\parse.php on line 78
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\squid_log\parse.php on line 78
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\squid_log\parse.php on line 78
Procesadas: 336
Errores: 0
Promedio Errores: 0%
Inicio: 11/27/07 00:28:40 - Finalización: 11/27/07 00:28:40 - Duración: 0 Minutos
l'erreur est en bleu dans le code!!!!De l'aide SVP, Merci!