Avatar billede gonzzo Nybegynder
02. juni 2000 - 16:02 Der er 9 kommentarer og
1 løsning

ur ??

Er der nogen der kan sige mig hvordan man "laver" et ur i php altså man skal kunne se at sec. "tikker" derudaf???
Avatar billede Slettet bruger
02. juni 2000 - 16:03 #1
nej, det skal være i javascript.
Avatar billede Slettet bruger
02. juni 2000 - 16:04 #2
Her er det hele med dato:

<script LANGUAGE="JavaScript">
<!-- Jeg skjuler mig for &aelig;ldre browsere

function ur()
<!-- S&aelig;tter funktionen ur !-->

{
nu = new Date()
<!-- Snupper dagsdato  !-->

sek = nu.getSeconds()
<!-- Tildeler sekunder !-->

min = nu.getMinutes()
<!-- Tildeler minuter !-->

tim = nu.getHours()
<!-- Tildeler timer !-->

if (sek <= 9) { sek = "0"+sek; }
<!-- Tilf&oslash;jer  0 hvis mindre end 10 !-->

if (min <= 9) { min = "0"+min; }
if (tim <= 9) { tim = "0"+tim; }

var ugedag = new Array("S&oslash;ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L&oslash;rdag");
<!-- Laver en liste med ugedage !-->

var maaned = new Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September",
"Oktober","November","December");
<!-- Laver en liste med m&aring;neder !-->

dag = ugedag[nu.getDay()]
<!-- S&aelig;tter dag !-->

den =(" den "+nu.getDate())
<!-- S&aelig;tter dato !-->

mdr = (" "+maaned[nu.getMonth()])
<!-- S&aelig;tter mdr. !-->

aar = nu.getYear()
<!-- S&aelig;tter &aring;ret !-->

if (aar <= 99) { aar = "19"+aar;}
else {aar = ""+aar;}
<!-- Tilf&oslash;jer 19 hvis aar mindre end 99 !-->

timestring = tim+":"+min+":"+sek;
<!-- Laver en tekststreng for tiden  !-->

datostring = dag+den+"."+mdr+" "+aar;
<!-- Laver en Datostreng for dato  !-->

setTimeout("ur()",1000)
<!-- S&aelig;tter  timeout for funktionen  'ur' !-->

clockID.innerHTML = (datostring+ ", " +timestring+"<BR>");
}

window.onload=ur;
<!--  F&aring;r browseren til at loade funktionen ur !-->
</script>
Avatar billede drzero Nybegynder
03. juni 2000 - 13:34 #3
Du kan lave det ved at hive et timestamp ind og lave det om, det viser du så på en side uden andet.. du smider så en meta header ind der refresher hvert sekund.. for at få denne anordning til at være på en side kræver det desværre frames, da den frame uret er i jo skal opdateres hvert sekund.. hvis du stadig gerne vil bruge denne løsning kan jeg lige smide lidt kode sammen til dig :)
Avatar billede gonzzo Nybegynder
03. juni 2000 - 17:35 #4
hmm det kan jo så gå hend og blive til ret meget trafik ik!!??

hmm jeg ved ikke rigtigt...
Prøv bare at komme med noget kode..
Avatar billede drzero Nybegynder
04. juni 2000 - 15:02 #5
Det kommer til at skabe en smule trafik, men det er ikke så slemt når det ikke er mere der skal sendes..

Her er koden (ganske simpel):

<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=<? echo $PHP_SELF; ?>">
</HEAD>
<BODY>
<?
$tid = date("H:i:s", time());
echo "<h2>" . $tid . "</h2>";
?>
</BODY>
</HTML>

Hvis din server ikke kører efter dansk tid, kan jeg lige lave en mindre ændring til scriptet så den skriver den danske tid...
Avatar billede drzero Nybegynder
04. juni 2000 - 15:10 #6
Du skal så bare huske at bruge frames, så de andre sider ikke konstant opdateres..
Avatar billede stingbat Nybegynder
07. juni 2000 - 01:12 #7
Du kan gøre det men PHP, men så skal du nok få siden til at opdatere en gang i mellem....
Følgende script vil du nok kunne synes om, nu når du snakker om ur (kan ikke 100% huske hvor jeg fik det fra, men whatever):

<? /* Example written by "C.A. Lademann" <cal@zls.com> */
SetLogging(0);
SetShowInfo(0);
Function Hand $ang, $len, $style, $col (
    global $radius, $basesize, $PI;

    $point[0] = (sin($ang) * $len) + $radius;
    $point[1] = (cos($ang) * -1 * $len) + $radius;

    if($style == 1);
        $base = $radius / 15;
        $angbase = $ang + ($PI / 2);

        $point[2] = (sin($angbase) * $basesize) + $radius;
        $point[3] = (cos($angbase) * -1 * $basesize) + $radius;
        $point[4] = (sin($angbase) * -1 * $basesize) + $radius;
        $point[5] = (cos($angbase) * $basesize) + $radius;

        ImageFilledPolygon($im, $point[], 3, $col);
    else;
        ImageLine($im, $radius, $radius, $point[0], $point[1], $col);
    endif;
);


if($argv[0] == "gif");
    Header "Content-type: image/gif";

    $PI = 3.14159265358979323846;

    if(intval($argv[1]) > 0);
        $size = intval($argv[1]);
    else;
        $size = 500;
    endif;

    $radius = $size / 2;
    $basesize = $radius / 15;

    /* Create Image */
    $im = ImageCreate($size, $size);
    $transp = ImageColorAllocate($im, 254, 254, 254);
    $white = ImageColorAllocate($im, 255, 255, 255);
    $black = ImageColorAllocate($im, 0, 0, 0);
    $green = ImageColorAllocate($im, 0, 255, 0);
    $red = ImageColorAllocate($im, 255, 0, 0);
    $blue = ImageColorAllocate($im, 0, 0, 255);
    ImageColorTransparent($im, $transp);

    /* Draw Clock */
    ImageArc($im, $radius, $radius, $size, $size, 0, 360, $black);
    ImageFill($im, $radius, $radius, $white);

    $min = 0;
    while($min < 60);
        $min = $min + 5;

        if($min % 15 == 0);
            $len = doubleval($radius / 5);
        else;
            $len = doubleval($radius / 10);
        endif;

        $ang = ($PI * $min * 2) / 60;
        $sin = sin($ang);
        $cos = cos($ang);
        $sx = $sin * ($radius - $len) + $radius;
        $sy = $cos * ($radius - $len) + $radius;
        $ex = $sin * $radius + $radius;
        $ey = $cos * $radius + $radius;

        ImageLine($im, $sx, $sy, $ex, $ey, $black);
    endwhile;

    $hour = intval(Date("h", Time()));
    if($hour >= 12);
        $hour -= 12;
    endif;

    $min = intval(Date("i", Time()));
    $sec = intval(Date("s", Time()));

    $ang = ($PI * 2 / 12) * (1.0 * $min / 60 + $hour);
    $len = 0.5 * $radius;
    Hand($ang, $len, 1, $blue);

    $ang = ($PI * 2 / 60) * (1.0 * $sec / 60 + $min);
    $len = 0.65 * $radius;
    Hand($ang, $len, 1, $green);

    $ang = ($PI * 2 / 60) * $sec;
    $len = 0.75 * $radius;
    Hand($ang, $len, 0, $black);

    ImageArc($im, $radius, $radius, 2 * $basesize, 2 * $basesize, 0, 360, $red);
    ImageFillToBorder($im, $radius, $radius, $red, $red);

    ImageGif($im);
else;
    $sizestr_gif = "";
    $sizestr_html = "";

    if(intval($argv[0]) > 0);
        $sizestr_gif = sprintf("+%d", intval($argv[0]));
        $sizestr_html = sprintf("?%d", intval($argv[0]));
    endif;
>
    <HTML>
    <HEAD>
        <META HTTP-EQUIV="Refresh" CONTENT=20 URL=<?echo $PHP_SELF><?echo $sizestr_html>>
    </HEAD>
    <BODY>
        <CENTER>
            <IMG SRC=<?echo $PHP_SELF>?gif<?echo $sizestr_gif>>
        </CENTER>
    </BODY>
    </HTML>
<?
endif;
>


// Stingbat
Avatar billede stingbat Nybegynder
07. juni 2000 - 01:13 #8
håber det stadig virker - brugte bare copy/paste *S*
Avatar billede stingbat Nybegynder
07. juni 2000 - 01:16 #9
btw - bare lige én ulempe, som jeg lige kom i tanke om! Kræver at din PHP har Gif-support i GD.dll'en! (ellers er det bare at udskifte:
"ImageGif($im);"
med:
"ImageJPEG($im);"

samt:
Header "Content-type: image/gif";
med:
Header "Content-type: image/jpeg";

// Stingbat
Avatar billede gonzzo Nybegynder
24. august 2000 - 14:29 #10
okay det kan åbentbart ikke lade sig gøre i php, jeg har allerede et i javascript så ingen point for dette !!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester