formannen Skrevet 7. mai 2005 Del Skrevet 7. mai 2005 Jeg vil ha et script som henter ut en linje etter dato (evt. klokkeslett) for så å skrive det ut. Dersom datoen er passert hopper den automatisk videre til neste linje. Og ikke lese neste linje. Har prøvd og feilet litt. Håpet egentlig på at noen av guruene her kunne hjelpe meg. Blir kjempeglad for all hjelp. Lenke til kommentar
Gilbert Skrevet 7. mai 2005 Del Skrevet 7. mai 2005 Oh, det er ikke no stort problem: $linjer[] = 18:39||Dette er en koselig tekst"; linjer[] = 22:40||Gå til sengs!"; linjer[] = "02:11||Hehe, er du oppe nå?"; foreach($linjer as $linje) { $tid = date("H:i"); $stopp = "0"; if ($linje[0] > $tid && $stopp == "0") { echo "Klokken er $tid: $linje[0]"; $stopp = "1"; } } Mulig det går ann å gjøre det enklere også :-) Lenke til kommentar
formannen Skrevet 7. mai 2005 Forfatter Del Skrevet 7. mai 2005 (endret) Dette ble litt annerledes enn jeg hadde tenkt. Det jeg ser for meg er I egen .txtfil dato1|| Trening kl. 18.00 dato2|| Kamp kl. 11.00 dato3|| Husk å betale billån i dag. EDIT: Skriver ut kun dato2 ved gjeldene dato, dersom det ikke er noe for gitt dato skrives ingenting ut. Endret 7. mai 2005 av formannen Lenke til kommentar
PT Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 (endret) Du kan vel kanskje prøve noe slikt som denne her (ikke testet): <?php $fil = 'fil.txt'; $innhold = file($fil); // Åpne $fil og legg hver linje inn i arrayet $innhold foreach($innhold as $i) { $linje = explode('||', $i); // Del linjen ved ||, og legg inn i nytt array ($linje) if(date('d.m.Y') == $i[0]) { // Hvis dagens dato er lik dato i arrayet, skriv ut informasjonen echo $i[1] . "<br />\n"; } } ?> Datoene i filen din må da skrives i formatet dd.mm.yyyy, f.eks. '08.05.2005' Endret 8. mai 2005 av PT Lenke til kommentar
Torbjørn Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 er det noen spesiell grunn til at du kjører rtrim på filnavnet? Lenke til kommentar
PT Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 er det noen spesiell grunn til at du kjører rtrim på filnavnet? Nei, egentlig ikke Var litt trøtt når jeg skrev det, så det ver sikkert noe som hang igjen fra den gangen jeg brukte fopen(). Da ville det vel blitt någet slik (akkurat den biten): $fp = fopen($fil, r); $innhold = fread($fp, filesize($fil)); $innhold = explode('\n', rtrim($innhold)); *fikse overstående post* Lenke til kommentar
Christian_ Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 Du kan vel kanskje prøve noe slikt som denne her (ikke testet): <?php $fil = 'fil.txt'; $innhold = file($fil); // Åpne $fil og legg hver linje inn i arrayet $innhold foreach($innhold as $i) { $linje = explode('||', $i); // Del linjen ved ||, og legg inn i nytt array ($linje) if(date('d.m.Y') == $i[0]) { // Hvis dagens dato er lik dato i arrayet, skriv ut informasjonen echo $i[1] . "<br />\n"; } } ?> Datoene i filen din må da skrives i formatet dd.mm.yyyy, f.eks. '08.05.2005' Men vil denne koden kunne sortere alle linjene i tekstfila da? jeg ser ikke noe som gjør annet enn ting som skjer akuratt at dag blir skrivd ut. Ville han ikke ha sortert alle datoene? Lenke til kommentar
PT Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 Men vil denne koden kunne sortere alle linjene i tekstfila da? jeg ser ikke noe som gjør annet enn ting som skjer akuratt at dag blir skrivd ut. Ville han ikke ha sortert alle datoene? Så vidt jeg har forstått innlegget til formannen, vil han bare skrive ut alle linjene med dato lik dagens dato, og det gjør mitt fine lille skript. Lenke til kommentar
Torbjørn Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 se på usort, du må også vite hvordan du lager egendefinerte funksjoner Lenke til kommentar
Christian_ Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 usort når jeg vil sortere hele teksfila? så ut som at den bare sorterte et tall, ikke flre etter som hvor like de var. eksempel? Lenke til kommentar
formannen Skrevet 8. mai 2005 Forfatter Del Skrevet 8. mai 2005 Dette virker bra, men bare en ting jeg lurer på... hvordan kan jeg får den til å skrive alltid skrive ut neste element, dvs. at f. eks den skriver ut "trening mandag 9. mai" allerede 8. mai dersom det ikke skjer noe 8. mai. Lenke til kommentar
Gilbert Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 Nå begynner vel ting å bli såpass detaljert at du selv setter deg inn i date() og if() -funksjonen... www.php.net Lenke til kommentar
formannen Skrevet 8. mai 2005 Forfatter Del Skrevet 8. mai 2005 fjartan: Jeg innser at første post var litt uklar, men det er jo dette jeg har spurt om hele veien... Lenke til kommentar
PT Skrevet 8. mai 2005 Del Skrevet 8. mai 2005 Du kan vel ta utgangspunkt i koden jeg skrev til deg, og prøve deg litt videre. Er mye gøyere å hjelpe personer som er villig til å prøve, ikke bare 'forlanger' å få alt i fanget. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå