php ile işletim sistemine göre seçim yapmak?
9
●862
- 13-10-2009, 20:15:24$_ENV['OS'] var ama XPde ve vistada aynı sonucu veriyor, Windows_NT. Windows - Linux kıyaslamasında kullanmıştım.
if(strpos($_ENV['OS'],"Windows") == TRUE) { //echo 'windows bu'; }
Ama 1 saniye, $_SERVER['HTTP_USER_AGENT'] den çıkarabiliriz Vistayı.
<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE) { echo 'Windows XP'; } else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.1') == TRUE) { echo 'Windows 7'; } ?>XP ve win 7 vardı, vista da NT 6.0 olsa gerek.
. - 13-10-2009, 20:33:03spoof dediğinden kastın olduğundan farklı göstermekse o çokta sorun değil. kullanıcının estetiğini bozmaması açısından böyle istedim ben. xp de çıkacak applette xp görüntüsü, vistada çıkacak applette vista görüntüsü olacak. peki son olarak şunuda isteyeyim, 2 işletim sisteminede tanımlama yaptık tamam, peki bunlar dışındaki tüm işletim sistemlerine default tanımlama yapmamız mümkünmü?Alexis adlı üyeden alıntı: mesajı görüntüle
- 13-10-2009, 20:51:11O da kolay, yalnız vistam yok, win7 yazıyorum. Vista 6.0 olması gerek. if yerine switch te kullanabilirsin seçenekler çoğalacaksa.
<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE) { echo 'Windows XP'; } else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.1') == TRUE) { echo 'Windows 7'; } else { echo 'XP ve win7 dışında herşey'; } ?>. - 13-10-2009, 21:29:14tekrar teşekkürler hocam. vista dediğin gibi 6.0 bunuda dipnot olarak ekleyip kesinleştirmiş olayım.
birde şu kodda nasıl bir hata var onu anlayamadım.
<?php
switch($chat) {
case "Flaxchat":
?>
<applet name="Flaxchat" code="flaxchat.FlaxChat.class"
archive ="flaxchat.jar,flaxchess.jar,flaxdraw.jar,flaxf lot a.jar,flaxttt.jar,flaxgammon.jar"
width ="100%"
height ="400"
codebase = http://irc.aaaa">
<param name="CABBASE" value="flaxchat.cab">
<param name="ident" value="flaxchat">
<param name="fullname" value="Flaxchat">
<param name="nickname" value="">
<param name="Channel1" value="#sohbet,#oyun">
<p>Java uygulaması kurulu değil.Java yuklemek icin <a href="http://www.flaxchat.com/?getjava">chat applet</a></p>
</applet>
<?php
break;
case "Eschat":
?>
<applet name ="esChat"
code ="esChat.class"
archive ="http://irc.aaaa/eschat/esChat.jar"
codeBase ="http://irc.aaaa/eschat/"
width ="550"
height ="300">
<param name="CABBASE" value="http://irc.aaaa/eschat/esChat.cab">
</applet>
<?php
break;
default:
?>
<br>
<applet name ="esChat"
code ="esChat.class"
archive ="http://irc.aaaa/eschat/esChat.jar"
codeBase ="http://irc.aaaa/eschat/"
width ="550"
height ="300">
<param name="CABBASE" value="http://irc.aaaa/eschat/esChat.cab">
</applet>
<?php
}
?>
bu kod şu; anasayfadaki formda tanımlanan yerden eschat yada flaxchat i seçiyosun, seçimine göre bu koddaki appleti çalıştırıyor. ancak anasayfada formu gerektiği gibi ayarlamama rağmen, her şartta sadece default seçeneğini, yani eschati çalıştırıp, flaxchat i görmezden geliyor. acaba flaxchat in formdaki değeri ile burdaki break değeri farklımı diye kontrol ettim, onlarda aynı. son olarak bu koddaki sorunu çözebilirmiyiz? - 14-10-2009, 15:58:49kodu önce userın anasayfada istediği appleti seçeceği, sonrada seçtiği appletlerin işletim sistemine göre tanımladığım versiyonlarını (yukarıda istediğimi) halettim. ancak daha önce çalışan <?php echo $_POST['nick'];?> çalışmamaya başladı. bunu nasıl aşabilecem peki? kodun tamamı aşağıda:
<?php switch($chat) { case "Flaxchat": ?> <applet name="Flaxchat" code="flaxchat.FlaxChat.class" archive ="flaxchat.jar,flaxchess.jar,flaxdraw.jar,flaxf lot a.jar,flaxttt.jar,flaxgammon.jar" width ="100%" height ="400" codebase = "Xxx.org"> <param name="CABBASE" value="flaxchat.cab"> <param name="ident" value="flaxchat"> <param name="fullname" value="Flaxchat"> <param name="nickname" value="<?php echo $_POST['nick'];?>"> <param name="Channel1" value="#sohbet,#oyun"> <p>Java uygulamasý kurulu deðil.Java yuklemek icin <a href="http://www.flaxchat.com/?getjava">chat applet</a></p> </applet> <?php break; case "Eschat": ?> <?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE) { echo ' <applet name ="esChat" code ="esChat.class" archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar" codeBase ="http://irc.xxx.gen.tr/eschat36/" width ="100%" height ="100%"> <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab"> <param name="ident" value="sohpetweb"> <param name="fullname" value="Sohpet Web User"> <param name="nickname" value="<?php echo $_POST['nick']; ?>"> <param name="password" type="password" value=""> <param name="ASL" value=""> <param name="Channel1" value=""> </applet>'; } else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.0') == TRUE) { echo ' <applet name ="esChat" code ="esChat.class" archive ="http://irc.xxx.gen.tr/eschat/esChat.jar" codeBase ="http://irc.xxx.gen.tr/eschat/" width ="100%" height ="100%"> <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat/esChat.cab"> <param name="ident" value="sohpetweb"> <param name="fullname" value="Sohpet Web User"> <param name="nickname" value="<?php echo $_POST['nick']; ?>"> <param name="password" type="password" value=""> <param name="ASL" value=""> <param name="Channel1" value=""> </applet>'; } else { echo ' <applet name ="esChat" code ="esChat.class" archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar" codeBase ="http://irc.xxx.gen.tr/eschat36/" width ="100%" height ="100%"> <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab"> <param name="ident" value="sohpetweb"> <param name="fullname" value="Sohpet Web User"> <param name="nickname" value="<?php echo $_POST['nick']; ?>"> <param name="password" type="password" value=""> <param name="ASL" value=""> <param name="Channel1" value=""> </applet>'; } ?> <?php break; default: ?> <br> <?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE) { echo ' <applet name ="esChat" code ="esChat.class" archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar" codeBase ="http://irc.xxx.gen.tr/eschat36/" width ="100%" height ="100%"> <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab"> <param name="ident" value="sohpetweb"> <param name="fullname" value="Sohpet Web User"> <param name="nickname" value="<?php echo $_POST['nick']; ?>"> <param name="password" type="password" value=""> <param name="ASL" value=""> <param name="Channel1" value=""> </applet>'; } else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.0') == TRUE) { echo ' <applet name ="esChat" code ="esChat.class" archive ="http://irc.xxx.gen.tr/eschat/esChat.jar" codeBase ="http://irc.xxx.gen.tr/eschat/" width ="100%" height ="100%"> <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat/esChat.cab"> <param name="ident" value="sohpetweb"> <param name="fullname" value="Sohpet Web User"> <param name="nickname" value="<?php echo $_POST['nick']; ?>"> <param name="password" type="password" value=""> <param name="ASL" value=""> <param name="Channel1" value=""> </applet>'; } else { echo ' <applet name ="esChat" code ="esChat.class" archive ="http://irc.xxx.gen.tr/eschat36/esChat.jar" codeBase ="http://irc.xxx.gen.tr/eschat36/" width ="100%" height ="100%"> <param name="CABBASE" value="http://irc.xxx.gen.tr/eschat36/esChat.cab"> <param name="ident" value="sohpetweb"> <param name="fullname" value="Sohpet Web User"> <param name="nickname" value="<?php echo $_POST['nick']; ?>"> <param name="password" type="password" value=""> <param name="ASL" value=""> <param name="Channel1" value=""> </applet>'; } ?> <?php } ?>