/ 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
Hvilket operativsystem kører jeg på?
Fra : Jimmy


Dato : 11-02-04 10:39

Hej

Jeg vil i min kode finde ud af, om jeg ligger på en UNIX eller
Windows-maskine.

Jeg har ikke kunnet finde noget på google eller php.net, men har skrevet
følgende, som ser ud til at virke:

-----
if ( file_exists (".". strtoupper($_SERVER ['SCRIPT_NAME'])) && file_exists
(".". strtolower($_SERVER ['SCRIPT_NAME'])) )
{
echo "Windows";
}
else
{
echo "UNIX";
}

-----


Men er der tilfælde, hvor dette vil fejle?
Hvis ja, hvordan kan så lave en sikker løsning?

Mvh
Jimmy



 
 
Jeppe Uhd (11-02-2004)
Kommentar
Fra : Jeppe Uhd


Dato : 11-02-04 11:01

"Jimmy" <nyhedsgruppe2001@FJERN.yahoo.co.uk> wrote in message
news:c0ct67$gmt$1@sunsite.dk...
> Hej
>
> Jeg vil i min kode finde ud af, om jeg ligger på en UNIX eller
> Windows-maskine.
>
> Jeg har ikke kunnet finde noget på google eller php.net, men har skrevet
> følgende, som ser ud til at virke:
>
> -----
> if ( file_exists (".". strtoupper($_SERVER ['SCRIPT_NAME'])) &&
file_exists
> (".". strtolower($_SERVER ['SCRIPT_NAME'])) )
> {
> echo "Windows";
> }
> else
> {
> echo "UNIX";
> }
>
> -----
>
>
> Men er der tilfælde, hvor dette vil fejle?
> Hvis ja, hvordan kan så lave en sikker løsning?

Den vil fejlfortolke en unix box som en windows box hvis der er to filer i
dir'et som hedder det samme bortset fra at den ene er lowercase og den anden
er uppercase...

Kig på $_SERVER["SERVER_SOFTWARE"]

MVH Jeppe Uhd - NX



Jimmy (11-02-2004)
Kommentar
Fra : Jimmy


Dato : 11-02-04 11:23


"Jeppe Uhd" <gnewsnospam@nx.dk> wrote in message
news:4029fd49$0$27392$edfadb0f@dread16.news.tele.dk...
> "Jimmy" <nyhedsgruppe2001@FJERN.yahoo.co.uk> wrote in message
> news:c0ct67$gmt$1@sunsite.dk...
> > Hej
> >
> > Jeg vil i min kode finde ud af, om jeg ligger på en UNIX eller
> > Windows-maskine.

> > Men er der tilfælde, hvor dette vil fejle?
> > Hvis ja, hvordan kan så lave en sikker løsning?
>
> Den vil fejlfortolke en unix box som en windows box hvis der er to filer i
> dir'et som hedder det samme bortset fra at den ene er lowercase og den
anden
> er uppercase...

Det er rigtigt.


> Kig på $_SERVER["SERVER_SOFTWARE"]

Super - Anede ikke den fandtes, men den løser da mit problem.

Tak,
Jimmy



Esben Skov Pedersen (11-02-2004)
Kommentar
Fra : Esben Skov Pedersen


Dato : 11-02-04 16:45

Jimmy wrote:

> Hej
>
> Jeg vil i min kode finde ud af, om jeg ligger på en UNIX eller
> Windows-maskine.

prøv med echo `uname -a`. Hvis den er tom er det nok windows

/Esben

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

Månedens bedste
Årets bedste
Sidste års bedste