/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Datoer, php, scripts og udveksling...
Fra : Rander


Dato : 10-10-01 01:42

Det her bliver nok en smule forvirrende, da jeg ikke helt selv har styr på
det - det er det jeg skal bruge jeres hjælp til!

Jeg skal lave en php-fil. Den skal, baseret på om datoen er imellem to på
forhånd fastlagte datoer, bruge to forskellige stylesheets. Ja, allerede
her det forvirrende, så lad mig prøve med lidt pseudo-kode:

Hvis idag er i januar måned, så
   brug stylesheetet "januar.css"
ellers
   brug stylesheetet "resten.css"

Den del skal laves i php, og det ser jeg ikke de store problemer i.

MEN: Jeg har en idé om at selve checket af datoen må kunne laves smartere
end at php skal gøre det selv hver eneste gang siden bliver kaldt! Jeg
forestiller mig noget med et cron-script der kører en gang i døgnet og
checker datoen, og herefter sætter en eller anden global parameter på
maskinen som php så kan gå ind og checke efter - alternativt at
cron-scriptet toucher en eller anden tilfældig fil, som php så kan checke
eksistensen af. Parameteren/filen skal naturligvis slettes af cron-scriptet
når januar måned er forbi.

Så kan første linie i ovenstående kode jo blot omskrives til

Hvis $Januar, så
eller
Hvis filen januar eksisterer, så

- hvilket efter min opfattelse vil være både hurtigere og mindre
processor-krævende.

Hvordan griber jeg nemmest det an? Gerne med kodeeksempler til både
cron-scriptet og php'en!

SysInfo: RedHat 7.1, Apache 1.3.19 og php 4.0.4

XFUT dk.edb.internet.webdesign.serverside.php, da det jo i sidste ende er
noget php jeg skal have til at virke...
--
Lars Rander, www.rander.dk ICQ#: 987520 ** Pil ikke ved min adresse **
Sjathelt og beskytter af det svage køn (udnævnt af diktator SEJ 5/6-99)

Barnet Hansigne Frederiksen er rask, faderen ukendt, da barnet er
uægte. Husmand Peter Rasmussen er gift med moderen. Drengens police
som fulgte er ægtefødt, altså af Camilla, moderen. (Skadesanmeldelse)


 
 
Kim Emax - ayianapa.~ (10-10-2001)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 10-10-01 01:56


"Rander" <ldNOSPAM@rander.dk> skrev

> MEN: Jeg har en idé om at selve checket af datoen må kunne laves smartere
> end at php skal gøre det selv hver eneste gang siden bliver kaldt! Jeg
> forestiller mig noget med et cron-script der kører en gang i døgnet og
> checker datoen, og herefter sætter en eller anden global parameter på
> maskinen som php så kan gå ind og checke efter - alternativt at
> cron-scriptet toucher en eller anden tilfældig fil, som php så kan checke
> eksistensen af. Parameteren/filen skal naturligvis slettes af
cron-scriptet
> når januar måned er forbi.

så tjekker PHP jo alligevel, med f.eks. file_exists() og du skal stadig have
måneden, så du ved, hvilken måned du skal tjekke efter...

Tror det du tænker på er: cron kører en gang om måneden, genererer en .inc,
..html eller anden type fil, som php derefter inkluderer. For at undgå at PHP
tjekker noget som helst, så skal filen have samme navn uanset, hvilken måned
det er... er det mon det du er ude efter?

--
Take Care
Kim Emax
http://www.emax.dk
http://www.ayianapa.dk
http://www.artificial-dreams.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks mest advancerede VinWebShop



Mogens Meier Christe~ (10-10-2001)
Kommentar
Fra : Mogens Meier Christe~


Dato : 10-10-01 06:20

Det lyder som nogle helt vilde krumspring at gøre i stedet for bare at tjekke een gang pr. script-kørsel!!!

Er det virkelig så resource-krævende at tjekke om det er januar eller ikke?

Hvis du absolut ville kunne en løsning være at sætte cron til på den pågældende dato at overskrive den CSS-fil du bruger på din side med den version du nu ønsker. På den måde behøver du ikke PHP.
--
Mvh. Mogens,
www.momech.dk



Anders Johannsen (10-10-2001)
Kommentar
Fra : Anders Johannsen


Dato : 10-10-01 09:24

> Den del skal laves i php, og det ser jeg ikke de store problemer i.

Godt

> MEN: Jeg har en idé om at selve checket af datoen må kunne laves smartere
> end at php skal gøre det selv hver eneste gang siden bliver kaldt! Jeg
> forestiller mig noget med et cron-script der kører en gang i døgnet og
> checker datoen, og herefter sætter en eller anden global parameter på
> maskinen som php så kan gå ind og checke efter - alternativt at
> cron-scriptet toucher en eller anden tilfældig fil, som php så kan checke
> eksistensen af. Parameteren/filen skal naturligvis slettes af
cron-scriptet
> når januar måned er forbi.

Glem det. Dine løsningsforslag er unødigt komplekse, og basalt set undgår du
ikke at tjekke for om det er januar eller ej pr. sidevisning. Forlader du
dig på I/O går din performance helt sikker i den forkerte retning.

Mvh.
Anders Johannsen





Rander (11-10-2001)
Kommentar
Fra : Rander


Dato : 11-10-01 02:54

Wed, 10 Oct 2001 10:23:36 +0200 brugte Anders Johannsen 24 linier på at
fortælle dette til dk.edb.internet.webdesign.serverside.php:

>> checker datoen, og herefter sætter en eller anden global parameter på
>> maskinen som php så kan gå ind og checke efter - alternativt at
>> cron-scriptet toucher en eller anden tilfældig fil, som php så kan checke
>> eksistensen af. Parameteren/filen skal naturligvis slettes af
>cron-scriptet
>> når januar måned er forbi.
>Glem det. Dine løsningsforslag er unødigt komplekse, og basalt set undgår du
>ikke at tjekke for om det er januar eller ej pr. sidevisning. Forlader du
>dig på I/O går din performance helt sikker i den forkerte retning.

Jo, men er det ikke rent performance-mæssigt hurtigee for php-scriptet at
checke efter eksistensen af en given fil eller parameter, frem for at
skulle hive datoen ind i en parameter, og derefter checke om måneden er
januar?

--
Lars Rander, www.rander.dk ICQ#: 987520 ** Pil ikke ved min adresse **
Sjathelt og beskytter af det svage køn (udnævnt af diktator SEJ 5/6-99)

Man går ud og finder sig én kæreste. Når man så har været gift et par år og
fået børn, så går kæresten på arbejde, og så går faderen ud i byen og finder
sig én til. (Robin, 8 år)


Anders Johannsen (11-10-2001)
Kommentar
Fra : Anders Johannsen


Dato : 11-10-01 08:49

"Rander" <ldNOSPAM@rander.dk> wrote in message
news:d4u2q9.k5h.ln@rander.dk...

> Jo, men er det ikke rent performance-mæssigt hurtigee for php-scriptet at
> checke efter eksistensen af en given fil eller parameter, frem for at
> skulle hive datoen ind i en parameter, og derefter checke om måneden er
> januar?

Det må naturligvis bero på en konkret test, men hvad får dig til at tro at
I/O er billigt og CPU er dyrt?

Mvh.
Anders



Rasmus Bøg Hansen (10-10-2001)
Kommentar
Fra : Rasmus Bøg Hansen


Dato : 10-10-01 09:29

Rander wrote:

> MEN: Jeg har en idé om at selve checket af datoen må kunne laves
> smartere end at php skal gøre det selv hver eneste gang siden bliver
> kaldt! Jeg forestiller mig noget med et cron-script der kører en gang
> i døgnet og checker datoen, og herefter sætter en eller anden global
> parameter på maskinen som php så kan gå ind og checke efter -
> alternativt at cron-scriptet toucher en eller anden tilfældig fil, som
> php så kan checke eksistensen af. Parameteren/filen skal naturligvis
> slettes af cron-scriptet når januar måned er forbi.
>
> Så kan første linie i ovenstående kode jo blot omskrives til
>
> Hvis $Januar, så
> eller
> Hvis filen januar eksisterer, så
>
> - hvilket efter min opfattelse vil være både hurtigere og mindre
> processor-krævende.

Til gengæld genererer du en masse I/O og en masse systemkald. Hvis du
gør det fra PHP, laver du et systemkald, der straks returnerer tiden.
Så bruger du en smule CPU på at konvertere til lokaltid og sammenligne
måneden...

Alternativt med cron-løsning laver du et systemkald, der skal læse på
disken for hver måned du kontrollerer. Worst-case bliver det 12
systemkald, best-case bliver 1 kald og - tada - gennemsnitligt bliver
det 6 systemkald... Systemkald er _dyre_ i forhold til de få
CPU-cykler, det tager at konvertere tiden til lokaltid og at hive
måneden ud...

IMHO er det spild af tid at bruge tid på et cron-script...

Rasmus

--
-- [ Rasmus 'Møffe' Bøg Hansen ] ---------------------------------------
Programming is a race between programmers, who try and make more and
more idiot-proof software, and universe, which produces more and more
remarkable idiots.
Until now, universe leads the race.
- R. Cooka
--------------------------------- [ moffe at amagerkollegiet dot dk ] --

Lars Petersen (12-10-2001)
Kommentar
Fra : Lars Petersen


Dato : 12-10-01 00:01

> MEN: Jeg har en idé om at selve checket af datoen må kunne laves smartere
> end at php skal gøre det selv hver eneste gang siden bliver kaldt! Jeg
> forestiller mig noget med et cron-script der kører en gang i døgnet og
> checker datoen, og herefter sætter en eller anden global parameter på
> maskinen som php så kan gå ind og checke efter - alternativt at
> cron-scriptet toucher en eller anden tilfældig fil, som php så kan checke
> eksistensen af. Parameteren/filen skal naturligvis slettes af
cron-scriptet
> når januar måned er forbi.

Lav et cron job der kører en gang om måneden!
pseudo kode:

if januar
cp januar.css style.css
else
cp default.css style.css


--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy - A Free Half Life
Manager!
When mailing me, remember there is no truth in my mail!




Lars Petersen (12-10-2001)
Kommentar
Fra : Lars Petersen


Dato : 12-10-01 00:02

> Lav et cron job der kører en gang om måneden!
> pseudo kode:
>
> if januar
> cp januar.css style.css
> else
> cp default.css style.css

Og så skal din side bare altid henvise til style.css
slet ingen php involveret (med mindre du vil lave
cron jobbet som php)...


--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy - A Free Half Life
Manager!
When mailing me, remember there is no truth in my mail!



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste