Benim web sitesini ziyaret bir kullanıcıların ekran ekran çözünürlüğünü bulmak gerekiyor?
Sen saf PHP ile bunu yapamaz. JavaScript ile bunu yapmak gerekir. Bunun nasıl yazılı çeşitli makaleler bulunmaktadır.
Esasen, bir çerez ayarlayabilir ya da hatta bir PHP komut dosyası için bilgi göndermek için bazı Ajax yapabilirsiniz. Eğer jQuery kullanıyorsanız, bunu böyle bir şey yapabilirsiniz:
jquery:
$(function() {
$.post('some_script.php', { width: screen.width, height:screen.height }, function(json) {
if(json.outcome == 'success') {
// do something with the knowledge possibly?
} else {
alert('Unable to let PHP know what the screen resolution is!');
}
},'json');
});
PHP (some_script.php)
<?php
// For instance, you can do something like this:
if(isset($_POST['width']) && isset($_POST['height'])) {
$_SESSION['screen_width'] = $_POST['width'];
$_SESSION['screen_height'] = $_POST['height'];
echo json_encode(array('outcome'=>'success'));
} else {
echo json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info"));
}
?>
Tüm bu gerçekten basit ama bir yere almalısınız. Normalde ekran çözünürlüğü gerçekten olsa istediğini değildir. Aslında sayfası oluşturulur nerede beri gerçek tarayıcınızın görünüm liman boyutu daha ilginizi çekebilir ...
PHP bir sunucu tarafı dilidir - sadece sunucu üzerinde çalıştırılan, ve sonuçta program çıkışı istemciye gönderilir. Gibi, hiçbir "müşteri ekranı" bilgi mevcut bulunuyor.
O dedi, müşteri kendi ekran çözünürlüğü JavaScript aracılığıyla ne olduğunu size söyleyebilirim olabilir. Bu, daha sonra http://example.net/index.php?size=AxB yönlendirir bulur bir ilk "atlama sayfa" ile AJAX, veya daha büyük olasılıkla yoluyla muhtemelen - Sen screen.height Screen.Width ve göndermek için küçük bir scriptlet'i yazın
Bir kullanıcı olarak konuşan rağmen, ben çok akıcı herhangi bir ekran çözünürlüğü işlemek için bir site tasarımı için tercih ediyorum. Ben çoğunlukla maksimize değil, farklı büyüklükteki pencerelerde göz atın.
Doğrudan PHP ile mümkün değil ama ...
Ben bir resim galerisi kullanmak için bir PHP oturum ekran çözünürlüğünü kaydetmek için bu basit kod yazmak.
<?php
session_start();
if(isset($_SESSION['screen_width']) AND isset($_SESSION['screen_height'])){
echo 'User resolution: ' . $_SESSION['screen_width'] . 'x' . $_SESSION['screen_height'];
} else if(isset($_REQUEST['width']) AND isset($_REQUEST['height'])) {
$_SESSION['screen_width'] = $_REQUEST['width'];
$_SESSION['screen_height'] = $_REQUEST['height'];
header('Location: ' . $_SERVER['PHP_SELF']);
} else {
echo '<script type="text/javascript">window.location = "' . $_SERVER['PHP_SELF'] . '?width="+screen.width+"&height="+screen.height;</script>';
}
?>
Benim için hile benim php içinde benim html içinde CSS yoktu kullanarak bulundu.
<?php
echo '<h2 media="screen and (max-width: 480px)">';
echo 'My headline';
echo '</h2>';
echo '<h1 media="screen and (min-width: 481px)">';
echo 'My headline';
echo '</h1>';
?>
This will output a smaller sized headline if the screen is 480px or less. So no need to pass any vars using JS or similar.
Ben PHP ile tamamen ekran boyutu algılayabilir sanmıyorum ama user-agent tespit edebilir ..
<?php
if ( stristr($ua, "Mobile" )) {
$DEVICE_TYPE="MOBILE";
}
if (isset($DEVICE_TYPE) and $DEVICE_TYPE=="MOBILE") {
echo '<link rel="stylesheet" href="/css/mobile.css" />'
}
?>
Burada daha ayrıntılı bir komut dosyası için bir link: PHP Mobile Detect