Witam zrobiłem sobie mini crona tak od tak :) co sądzicie o takim rozwiązaniu planuję zastosować to do stworzenia gry przeglądarkowej podobnej do plemion :)
oczywiście kod można uczuplić jest w nim kilka niepotrzebnie powtarzających się rzeczy ale jest to wynik błędów jaki się mi pojawiały :)
zbudowałem to z wykorzystaniem bazy która pełni u mnie funkcję timera :)
oczywiście to działa tylko wtedy kiedy skrypt jest otwrzony.
poniżej kod
<?php
try
{
//łączenie z bazą itd
}
catch (PDOException $e)
{
}
$qub ="SELECT * FROM skrypt";
$q=$polacz->query($qub);
while($r=$q->fetch(PDO::FETCH_OBJ))
{
$min=$r->min;
$war=$r->war;
}
$x=$min;
$y=date("i");
$klucz=456;
$war=$war+1;
$z=$y;
if($x<$y)
{
$qub ="UPDATE skrypt SET min = '$z' WHERE klucz = ? LIMIT 1";
$q = $polacz->prepare($qub);
$q->bindParam(1, $klucz, PDO::PARAM_INT);
$q->execute();
$qub ="UPDATE skrypt SET war = '$war' WHERE klucz = ? LIMIT 1";
$q = $polacz->prepare($qub);
$q->bindParam(1, $klucz, PDO::PARAM_INT);
$q->execute();
header('refresh: 10;');
echo 'dziala update';
}
elseif($x==$y){header('refresh: 10;');echo 'dziala przekierowanie';}
elseif($x>$y)
{
$qub ="UPDATE skrypt SET min = '$z' WHERE klucz = ? LIMIT 1";
$q = $polacz->prepare($qub);
$q->bindParam(1, $klucz, PDO::PARAM_INT);
$q->execute();
echo 'dziala naprawienie';
header('refresh: 10;');
}
$warn=$war+1;
echo 'nowa minuta: '.$z.'<br/>';
echo 'minuta: '.$y.'<br/>';
echo '<br/>nowa wartośc: '.$war;
echo '<br/>następna wartośc: '.$warn;
$czas=date('Y.m.d g:i:s');
echo '<br/><br/>czas serwera: '.$czas;
?>