Convertir timestamp..
ferjan.kais
Messages postés
7
Statut
Membre
-
karistote -
karistote -
ini_set ("max_execution_time", "21600");
require ("config.inc");
//////
$con=mysql_connect($db_host,$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;
$passees = 0;
if (!feof($log)) {
$ligne = fgets($log);
$arr = explode(' ', $ligne);
list ($heure, $mili) = explode ('.', $arr[0]);
$temps = date("m/d/y H:i:s", $heure).".$mili";
$res = mysql_query ("SELECT time FROM log WHERE time = '$temps';") or die(mysql_error());
//$res = pg_query ($conex, "SELECT time FROM log WHERE time = '$tiempo'");
if (mysql_num_rows($res))
{
$continue = 0;
echo "<FONT color=\"RED\">On ne peut pas traiter ces archives, ou il existe un registre dans la B.D avec le même temps que le premier registre des archives, est probablement dû au fait que ce il a été déjà traité</FONT>";
$start = time();
}
else
{
$continue = 1;
$start = time();
}
}
$i = 0;
while (!feof($log) && $continue == 1) {
$j = 0;
foreach ($arr as $str)/////////////////
if ($str <> '') {
$registre[$j] = $str;
$j++;
}
list ($temps, $passé, $equipement_distant, $code_status, $bytes, $metod, $url, $authentification, $peerstatus_peerhost, $taux) = $registre;
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 ($code, $status) = explode ('/', $code_status);
list ($peerstatus, $peerhost) = explode ('/', $peerstatus_peerhost);
list ($heure, $mili) = explode ('.', $temps);
$temps = date("m/d/y H:i:s", $heure).".$mili";
list ($taux1, $taux2) = explode ('/', $taux);
$res = mysql_query ("INSERT INTO log (time,elapsed,remote_host,code,status,bytes,methode,protocole,direction,argument_url,username,peerstatus,peerhost,type1,type2) VALUES('$temps',$passé,'$equipement_distant','$code','$status',$bytes,'$metod','$proto','$dir','$dir_arg','$authentification','$peerstatus','$peerhost','$taux1','$taux2');") 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))
$passees++;
else {
$err++;
echo "<BR /><FONT color=\"RED\">Error pendant l'insertion: INSERT INTO log (time, elapsed, remote_host,code, status, bytes, methode, protocole, direction, argument_url, username, peerstatus, peerhost, type1, type2) VALUES ('$temps', $passé, '$equipement_distant', '$code', '$status', $bytes, '$metod', '$proto', '$dir', '$dir_arg', '$autenticacion', '$peerstatus', '$peerhost', '$taux1', '$taux2')</FONT>";
}
$ligne = fgets($log);
$arr = explode(' ', $ligne);
$k = 0;
foreach ($arr as $str)////////////////////////////
if ($str <> ' ') {
$registre[$j] = $str;
$k++;
}
}
///////////////
mysql_query ("l'analyse est vide");
//pg_query ("VACUUM ANALYZE");
mysql_close ();
//pg_close ($conex);
fclose($log);
$end = time();
$duree = ($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)/($passees + $err);
echo "<BR />Accusés: <b>$passees</b><BR />Erreurs: <b>$err</b><BR />Moyenne Erreurs: $prom%";
echo "<BR />Début: <b>$start</b> - Fin: <b>$end</b> - Durée: <b>$duree</b> Minutes";
}
c'est un analyseur de log squid et il parse les analyses dans une table mysql mais dans la table j'ai le champs time:0000-00-00 00:00:00 !!!!!!!!!!!!! alors il y a une erreur dans la conversion du timestamp!! aussi comment je fais pour ajouter un id à chaque ligne??
merciiiiiiii
require ("config.inc");
//////
$con=mysql_connect($db_host,$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;
$passees = 0;
if (!feof($log)) {
$ligne = fgets($log);
$arr = explode(' ', $ligne);
list ($heure, $mili) = explode ('.', $arr[0]);
$temps = date("m/d/y H:i:s", $heure).".$mili";
$res = mysql_query ("SELECT time FROM log WHERE time = '$temps';") or die(mysql_error());
//$res = pg_query ($conex, "SELECT time FROM log WHERE time = '$tiempo'");
if (mysql_num_rows($res))
{
$continue = 0;
echo "<FONT color=\"RED\">On ne peut pas traiter ces archives, ou il existe un registre dans la B.D avec le même temps que le premier registre des archives, est probablement dû au fait que ce il a été déjà traité</FONT>";
$start = time();
}
else
{
$continue = 1;
$start = time();
}
}
$i = 0;
while (!feof($log) && $continue == 1) {
$j = 0;
foreach ($arr as $str)/////////////////
if ($str <> '') {
$registre[$j] = $str;
$j++;
}
list ($temps, $passé, $equipement_distant, $code_status, $bytes, $metod, $url, $authentification, $peerstatus_peerhost, $taux) = $registre;
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 ($code, $status) = explode ('/', $code_status);
list ($peerstatus, $peerhost) = explode ('/', $peerstatus_peerhost);
list ($heure, $mili) = explode ('.', $temps);
$temps = date("m/d/y H:i:s", $heure).".$mili";
list ($taux1, $taux2) = explode ('/', $taux);
$res = mysql_query ("INSERT INTO log (time,elapsed,remote_host,code,status,bytes,methode,protocole,direction,argument_url,username,peerstatus,peerhost,type1,type2) VALUES('$temps',$passé,'$equipement_distant','$code','$status',$bytes,'$metod','$proto','$dir','$dir_arg','$authentification','$peerstatus','$peerhost','$taux1','$taux2');") 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))
$passees++;
else {
$err++;
echo "<BR /><FONT color=\"RED\">Error pendant l'insertion: INSERT INTO log (time, elapsed, remote_host,code, status, bytes, methode, protocole, direction, argument_url, username, peerstatus, peerhost, type1, type2) VALUES ('$temps', $passé, '$equipement_distant', '$code', '$status', $bytes, '$metod', '$proto', '$dir', '$dir_arg', '$autenticacion', '$peerstatus', '$peerhost', '$taux1', '$taux2')</FONT>";
}
$ligne = fgets($log);
$arr = explode(' ', $ligne);
$k = 0;
foreach ($arr as $str)////////////////////////////
if ($str <> ' ') {
$registre[$j] = $str;
$k++;
}
}
///////////////
mysql_query ("l'analyse est vide");
//pg_query ("VACUUM ANALYZE");
mysql_close ();
//pg_close ($conex);
fclose($log);
$end = time();
$duree = ($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)/($passees + $err);
echo "<BR />Accusés: <b>$passees</b><BR />Erreurs: <b>$err</b><BR />Moyenne Erreurs: $prom%";
echo "<BR />Début: <b>$start</b> - Fin: <b>$end</b> - Durée: <b>$duree</b> Minutes";
}
c'est un analyseur de log squid et il parse les analyses dans une table mysql mais dans la table j'ai le champs time:0000-00-00 00:00:00 !!!!!!!!!!!!! alors il y a une erreur dans la conversion du timestamp!! aussi comment je fais pour ajouter un id à chaque ligne??
merciiiiiiii
A voir également:
- Convertir timestamp..
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir kindle en epub - Guide
- Convertir gif en video - Guide
- Convertir audio en texte word - Guide
1 réponse
petite fonction que je viens de créer pour convertir
la soustraction de deux timestamp en durée jjj:hh:mm:ss (en php)
il faut juste la variable $timestamp_debut pour que cela fonctionne.
$duree_sec=date("U")-$timestamp_debut;
$duree_jou=intval($duree_sec/24/60/60,0);
$duree_rest_sec=$duree_sec-($duree_jou*24*60*60);
$duree_heu=intval($duree_rest_sec/60/60,0);
$duree_rest_sec=$duree_rest_sec-($duree_heu*60*60);
$duree_min=intval($duree_rest_sec/60,0);
$duree_rest_sec=$duree_rest_sec-($duree_min*60);
echo $duree_jou."j ".$duree_heu."h ".$duree_min."m ".$duree_rest_sec."s";
la soustraction de deux timestamp en durée jjj:hh:mm:ss (en php)
il faut juste la variable $timestamp_debut pour que cela fonctionne.
$duree_sec=date("U")-$timestamp_debut;
$duree_jou=intval($duree_sec/24/60/60,0);
$duree_rest_sec=$duree_sec-($duree_jou*24*60*60);
$duree_heu=intval($duree_rest_sec/60/60,0);
$duree_rest_sec=$duree_rest_sec-($duree_heu*60*60);
$duree_min=intval($duree_rest_sec/60,0);
$duree_rest_sec=$duree_rest_sec-($duree_min*60);
echo $duree_jou."j ".$duree_heu."h ".$duree_min."m ".$duree_rest_sec."s";