Nightwalker
11.06.2006, 09:58:41
Witam,
Mam proste pytanie jednak głowie się nad nim od wczoraj, mianowicie napisałem skrypt do masowej wysyłki emaili, dlatego też po wysłaniu 10 maili jest zatrzymywany i przez header("Location: mailer.php?limit=XX"); zwiększa się próg limitu wyciągania danych z bazy, chcę policzyć ile czasu wysyłał się mass mail więc po rozpoczęciu skryptu zapisuje w sesji time(), jak teraz użyć starego czasu który mam żeby wyliczyć dokładnie ile to trwało (odejmowanie znacznika czasu zapisanego w sesji od aktualnego time() nie wystarczy ponieważ skrypt może się wykonywać 10 sekund, 10 minut lub nawet 10 godzin, a chce to w formacie gg:mm:ss). próbowałem różne sposoby jednak zawsze był jakiś problem, dlatego bardzo proszę o pomoc.
Pozdravki
Gość_Adrianek_*
11.06.2006, 10:41:17
Ja bym to zrobił tak
<?php
// tutaj wysyłanie maili
$godziny = round((time() - $stary_czas) / 3600
); $minuty = (round((time() - $stary_czas) / 60
)) - $godziny * 60; $sekundy = round((time() - $stary_czas) % 60
); #========# Godziny
if($godziny < 10)
{
}
else
{
}
#========# Koniec godziny
#========# Minuty
if($minuty < 10)
{
}
else
{
}
#========# Koniec minuty
#========# Sekundy
if($sekundy < 10)
{
}
else
{
}
#========# Koniec sekundy
?>
Jezeli dobrze zrozumiałem to bedzie tak. Masz podane w formacie 00:00:00
Gość_Adrianek_*
11.06.2006, 12:07:42
Mój bład ;p zamiast zmiennej
<?php
?>
zamień wszędzie na
<?php
$_SESSION['time'] = time(); ?>
a te zmienne w liczeniu zamień na
<?php
$_SESSION['time']
?>
Gość
11.06.2006, 12:42:28
mam podobnie, tyle tylko że z użyciem date("G:i:s") i explode(":", $_SESSION['czas_rozpoczecia']), myślałem że da się to zrobić prościej... no ale nic i tak dzięki za pomoc.
PhoenixPL
11.06.2006, 13:16:37
Z time jest tak dużo bo jest do formatu 00:00:00, mozna to skrócić ale wtedy jak bedzie zero h to bedzi 0 itd wtedy to szpetnie wyglada

opisz problem z datą bo może da sie go jakiś inaczej rozwiazac ;]