Gå til innhold

Dagens link?


Anbefalte innlegg

Jeg lurer på om det går å lage et script som hver 24. time printer ut en link fra en liste, altså at for hver 24. time tar scriptet linken som står på neste linje og printer den ut på en webside. Jeg klarer å lage en random link, men dette som jeg forklsrer over er utenfor mine kunnskaper. Noen som gidder å lage noe slikt?

Lenke til kommentar
Videoannonse
Annonse
Jeg lurer på om det går å lage et script som hver 24. time printer ut en link fra en liste, altså at for hver 24. time tar scriptet linken som står på neste linje og printer den ut på en webside. Jeg klarer å lage en random link, men dette som jeg forklsrer over er utenfor mine kunnskaper. Noen som gidder å lage noe slikt?

Dette er fullt mulig å gjøre i javascript, og jeg vil anbefale deg å lage den i det.

Som du sikkert vet, så er php et server-språk.

De færreste servere har klokke som går riktig, så da vil du risikere att det kommer opp en ny dagens link foreksempel klokka halv 3.

Hvis du heller vil ha ett slikt script i javascript, så bare si ifra, for da kan jeg lage noe.

 

EDIT: endret "noen" skriveleifer :wink:

Lenke til kommentar


$tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));

$minute    = mktime (0,date("i"),0,0,0,0);



$day = $tomorrow;     



if((int)((mktime (0,0,0,$day) - time(void))/86400) < $minute){

//her må det være en funksjon for å lese neste linje

}

 

veldig usikker på om dette fungerer, men lurer allikevel på om det må bli noe i nærheten av dette.

Lenke til kommentar

Hvis du har mindre enn 24 linker i listen din kan du gjøre noe slikt:

 

 

//Liste med linker (< 24)

 $str_Links = Array();

 $str_Links[0] = 'www.link1.com';

 $str_Links[1] = 'www.link2.com';

 $str_Links[2] = 'www.link3.com';

 //...osv.

    

 echo($str_Links[getArrayPosition()]);

 

 function getArrayPosition()

 {    

     global $str_Links;

     $intHour = date("G"); //Time på dagen    

     return modulo($intHour,count($str_Links));

 }



 function modulo($x,$y) {return ($x - floor($x/$y)*$y);}

 

 

Edit: For php >= V4.2.0 kan funksjonen modulo() byttes ut med fmod()

Lenke til kommentar

Dette er fullt mulig å gjøre i javascript, og jeg vil anbefale deg å lage den i det.

Som du sikkert vet, så er php et server-språk.

De færreste servere har klokke som går riktig, så da vil du risikere att det kommer opp en ny dagens link foreksempel klokka halv 3.

Hvis du heller vil ha ett slikt script i javascript, så bare si ifra, for da kan jeg lage noe.

 

EDIT: endret "noen" skriveleifer :wink:

Kan ikke javascript, så bare lag ;)

Jeg takker for den hjelpen jeg kan få, jeg...

Lenke til kommentar

Fant et script jeg hadde laget for en stund siden, her er det:


<script language="JavaScript">

  var link = 31;

     var date = new Date();

     var l = date.getDate();

     var b = l % link;

     var a = ++b;

  

     if (a < 1) a=++a

  

  if (a == 1) {

     v = "Link 1";

  }

     else if (a == 2) {

     v = "Link 2";

     }

     else if (a == 3) {

     v = "Link 3";

     }

     else if (a == 4) {

     v = "Link 4";

     }

     else if (a == 5) {

     v = "Link 5";

     }

     else if (a == 6) {

     v = "Link 6";

     }

     else if (a == 7) {

     v = "Link 7";

     }

     else if (a == 8) {

     v = "Link 8";    

     }

     else if (a == 9) {

     v = "Link 9";

     }

     else if (a == 10) {

     v = "Link 10";

  }

     else if (a == 11) {

     v = "Link 11";

  }

  else if (a == 12) {

     v = "Link 12";

  }

  else if (a == 13) {

     v = "Link 13";

  }

  else if (a == 14) {

     v = "Link 14";

  }

  else if (a == 15) {

     v = "Link 15";

  }

  else if (a == 16) {

     v = "Link 16";

  }

  else if (a == 17) {

     v = "Link 17";

  }

  else if (a == 18) {

     v = "Link 18";

  }

  else if (a == 19) {

     v = "Link 19";

  }

  else if (a == 20) {

     v = "Link 20";

  }

  else if (a == 21) {

     v = "Link 21";

  }

  else if (a == 22) {

     v = "Link 22";

  }

  else if (a == 23) {

     v = "Link 23";

  }

  else if (a == 24) {

     v = "Link 24";

  }

  else if (a == 25) {

     v = "Link 25";

  }

  else if (a == 26) {

     v = "Link 26";

  }

  else if (a == 27) {

     v = "Link 27";

  }

  else if (a == 28) {

     v = "Link 28";

  }

  else if (a == 29) {

     v = "Link 29";

  }

  else if (a == 30) {

     v = "Link 30";

  }

  else if (a == 31) {

     v = "Link 31";

  }

     var ny_link=""+ l +"";

     document.write(ny_link);

</script>

Nå kommer det opp en ny link for hver dag som går.

Lenke til kommentar
Fant et script jeg hadde laget for en stund siden, her er det:


<script language="JavaScript">

  var link = 31;

     var date = new Date();

     var l = date.getDate();

     var b = l % link;

     var a = ++b;

  

     if (a < 1) a=++a

  

  if (a == 1) {

     v = "Link 1";

  }

     else if (a == 2) {

     v = "Link 2";

     }

     else if (a == 3) {

     v = "Link 3";

     }

     else if (a == 4) {

     v = "Link 4";

     }

     else if (a == 5) {

     v = "Link 5";

     }

     else if (a == 6) {

     v = "Link 6";

     }

     else if (a == 7) {

     v = "Link 7";

     }

     else if (a == 8) {

     v = "Link 8";    

     }

     else if (a == 9) {

     v = "Link 9";

     }

     else if (a == 10) {

     v = "Link 10";

  }

     else if (a == 11) {

     v = "Link 11";

  }

  else if (a == 12) {

     v = "Link 12";

  }

  else if (a == 13) {

     v = "Link 13";

  }

  else if (a == 14) {

     v = "Link 14";

  }

  else if (a == 15) {

     v = "Link 15";

  }

  else if (a == 16) {

     v = "Link 16";

  }

  else if (a == 17) {

     v = "Link 17";

  }

  else if (a == 18) {

     v = "Link 18";

  }

  else if (a == 19) {

     v = "Link 19";

  }

  else if (a == 20) {

     v = "Link 20";

  }

  else if (a == 21) {

     v = "Link 21";

  }

  else if (a == 22) {

     v = "Link 22";

  }

  else if (a == 23) {

     v = "Link 23";

  }

  else if (a == 24) {

     v = "Link 24";

  }

  else if (a == 25) {

     v = "Link 25";

  }

  else if (a == 26) {

     v = "Link 26";

  }

  else if (a == 27) {

     v = "Link 27";

  }

  else if (a == 28) {

     v = "Link 28";

  }

  else if (a == 29) {

     v = "Link 29";

  }

  else if (a == 30) {

     v = "Link 30";

  }

  else if (a == 31) {

     v = "Link 31";

  }

     var ny_link=""+ l +"";

     document.write(ny_link);

</script>

Nå kommer det opp en ny link for hver dag som går.

 

er litt trøtt så kanskje jeg ser feil, men jeg har en følelse av at dette scriptet stopper etter 31 dager, og hva skjer etter det?

forøvrig hvis du går ut i fra måneder med 31 dager og derav valgte akkurat det tallet, hva da med alle måneder med 30 dager. og den på standen din om server klokker vil jeg gjerne se beviser på.

Lenke til kommentar
De færreste servere har klokke som går riktig

:o:o

 

hvor har du det fra?

Husker ikke helt hvor jeg har det fra....

Det er faktisk sant.

Hvorfor skulle de som eier serveren gidde å stille klokken? :p

 

Dette gjelder naturligvis ikke alle servere, men mange har en klokke som er unøyaktig.

Lenke til kommentar

er litt trøtt så kanskje jeg ser feil, men jeg har en følelse av at dette scriptet stopper etter 31 dager, og hva skjer etter det?

forøvrig hvis du går ut i fra måneder med 31 dager og derav valgte akkurat det tallet, hva da med alle måneder med 30 dager. og den på standen din om server klokker vil jeg gjerne se beviser på.

Det er riktig.

Gadd ikke å lage noe skikkelig script. :p

Men det er fullt brukandes.

 

Etter at det har gått 31 (eller 30) dager, så vil den linken som står på dag 1 komme igjen, så dag 2, så dag 3 osv.

 

Akkurat det med klokken til servere har jeg ikke bevis for nå, skal se hva jeg finner...

Men dette gjelder jo selvfølgelig ikke alle servere...

Sjekk om klokka på serveren din går riktig da!

Lenke til kommentar

Ahhh... syntes det var noe rart her ja. Trodde først det var snakk om å endre skript en gang i timen, 24 timer i døgnet.

 

Nuh vel.. brillene er på nå. :D

 

 

Vel, får rette opp forslaget mitt for syns skyld: (bedre sent enn aldri)

 


//Liste med linker 

 $str_Links = Array();

 $str_Links[0] = 'www.link1.com';

 $str_Links[1] = 'www.link2.com';

 $str_Links[2] = 'www.link3.com';

 //...osv.

    

 echo($str_Links[getArrayPosition()]);

 

 function getArrayPosition()

 {    

     global $str_Links;

     $date_array = getdate();

     $intDayOfYear = $date_array[yday];



     return modulo($intDayOfYear,count($str_Links));

 }



 function modulo($x,$y) {return ($x - floor($x/$y)*$y);}

 

 

Denne løsningen vil kun få en "glipp" i rulleringen en gang i året (ved årsskiftet), så i praksis har den vel ingen begrensninger i antall linker heller. Den er heller ikke avhengig av antall dager i måneden.

Lenke til kommentar
De færreste servere har klokke som går riktig

:o:o

 

hvor har du det fra?

Husker ikke helt hvor jeg har det fra....

Det er faktisk sant.

Hvorfor skulle de som eier serveren gidde å stille klokken? :p

 

Dette gjelder naturligvis ikke alle servere, men mange har en klokke som er unøyaktig.

Må nok si at du er rimelig på bærtur...det du sikkert sikter til er at mange servere er plassert på steder med forskjellig tidssone! Dette har absolutt ingenting med å stille klokka eller ei!!

Lenke til kommentar
De færreste servere har klokke som går riktig

:o:o

 

hvor har du det fra?

Husker ikke helt hvor jeg har det fra....

Det er faktisk sant.

Hvorfor skulle de som eier serveren gidde å stille klokken? :p

 

Dette gjelder naturligvis ikke alle servere, men mange har en klokke som er unøyaktig.

Må nok si at du er rimelig på bærtur...det du sikkert sikter til er at mange servere er plassert på steder med forskjellig tidssone! Dette har absolutt ingenting med å stille klokka eller ei!!

 

Vel.. hvis det er noe som er HELT sikkert.. så er det at klokka på min maskin går feil manger ganger i løpet av et år.

 

Ikke spør meg hvorfor.. bare er sånn :D:lol:

 

 

Synes uansett at det ville være rart om folk som lever av å levere en tjeneste (web-hotell) ikke hadde fått med seg en så vesentlig detalj som å stille klokka riktig.

Lenke til kommentar
Synes uansett at det ville være rart om folk som lever av å levere en tjeneste (web-hotell) ikke hadde fått med seg en så vesentlig detalj som å stille klokka riktig.

-De gjør da det! Jeg skjønner enda ikke hva du mener/hva du sikter til!

Lenke til kommentar

nå finnes det noen steder i verden atomur, som man med ganske små enkle programmer kan sette en maskin til å stille seg etter feks en gang i måneden, ingen pcer kan bli 100% nøyaktige og derfor ser man ofte på spesielt hjemmepcer hvor folk ikke er så nøye på å stille klokka at den etter noen måneder blir litt feil(som regel bare snakk om noen få minutter), nå kommer jo argumentet om at det tar tid over nettet fra atomuret og til maskinen, men den lille unøyaktigheten der er så liten at den er ikke merkbar for mennesker. Jeg har kun en gang sett en server som har vært tydelig feil (tror det var snakk om en time) den står i norge så det var ikke tidssonen som gjorde det, men de hadde bare vært litt trege ved omstillingen til sommertid, det var fixet noen timer senere.

 

det som er dumt med å bruke client side til sånne script er at en side med høyt besøkstall selvfølgelig har folk med alle mulige feil klokkeslett, da er det bedre og gå ut i fra server tiden, og hvis den er litt feil vil nok ingen merke det uansett, da er det ihvertfall likt tidspunkt samme hvor man logger på fra.

Lenke til kommentar
De færreste servere har klokke som går riktig

:o:o

 

hvor har du det fra?

Husker ikke helt hvor jeg har det fra....

Det er faktisk sant.

Hvorfor skulle de som eier serveren gidde å stille klokken? :p

 

Dette gjelder naturligvis ikke alle servere, men mange har en klokke som er unøyaktig.

Må nok si at du er rimelig på bærtur...det du sikkert sikter til er at mange servere er plassert på steder med forskjellig tidssone! Dette har absolutt ingenting med å stille klokka eller ei!!

Det var ikke det jeg tenkte på, men det er jo selvfølgelig også en grunn.

Lenke til kommentar

b-urn: Ditt script virker helt fint

@kd: Med ditt script får jeg bare opp tallet '1'. Ettersom jeg ikke har bruk for det lengre, trenger du ikke fikse det, med det er jo kanskje noen andre som har bruk for et slikt script, så bare fiks :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...