Rechercher : dans
Par :

Convertir timestamp..

Dernière réponse le 1 avr 2009 à 23:03:09 ferjan.kais, le 28 nov 2007 à 22:45:40 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « convertir timestamp.. » dans :
[PDF] Convertir des PDF en images (JPEG, BMP, GIF, etc...) VoirSi vous avez des documents PDF et que vous voulez les convertir en images (JPEG, GIF, BMP, ou n'importe quel format), de manière à les exploiter, par exemple dans un logiciel d'OCR ou de retouche/création d'images : Note : Cet article présente une...
[Audio] Conversion d'un fichier au format WMA en MP3 VoirPour convertir un fichier audio au format WMA en MP3, il suffit d'utiliser un logiciel de conversion tel que l'un des suivants : Free Mp3 Wma Converter dBpower-AMP Music Converter (DMC) MediaCoder GX::Transcoder Par ailleurs, il est à...
[Audio] Convertir un fichier m4a ou m4b en mp3 VoirAvec iTunes Ouvrir iTunes Cliquer sur Edition / Préférences / Avancé / Importation Puis choisir "Encodeur mp3" Ensuite sélectionner les fichiers à convertir puis en cliquant avec le bouton droit "Convertir en mp3" Avec dbPowerAmp ...
Télécharger AMV Convert Tool VoirLe package MP3 Player Utilities contient notamment un lecteur permettant de lire les fichiers au format AMV ainsi qu'un convertisseur vidéo vers le format AMV acceptant les formats d'entrée suivants : AVI, MPEG, DAT, WMV, WMA, ASF, RM, RAM, RMVB,...

1

 karistote, le 1 avr 2009 à 23:03:09

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";

Répondre à karistote