2010-11-14 39 views
18

thể trùng lặp:
Getting the screen resolution using PHPlàm thế nào để có được độ phân giải màn hình của người dùng với PHP

cũng câu hỏi là tự giải thích

nơi mà tôi muốn tiếp cận là

$width = ; //user screen width in here 

F1! F1!

+0

Mặc dù bạn không thể phát hiện chính xác độ phân giải của môi trường của người dùng, nhưng dựa trên chuỗi tác nhân người dùng, bạn có thể đoán độ chính xác hợp lý của lớp (thiết bị di động/máy tính bảng/máy tính để bàn) của thiết bị được sử dụng. Kiểm tra http://mobiledetect.net/. – bds

Trả lời

40

Bạn cần JavaScript chứ không phải PHP.

var screenWidth = window.screen.width, 
    screenHeight = window.screen.height; 

Sau đó, bạn có thể gửi nó đến máy chủ qua Ajax (với số XmlHttpRequest).

Xem thêm MDC window.screen docs.

+0

bạn có thể chia sẻ mã mẫu để gửi nó tới biến php thông qua AJAX không? – Faizan

9

Bạn không thể, không phải trong php. PHP hoàn toàn là phía máy chủ.

+4

geez .... tại sao tôi quên thực tế này .... – Moon

+1

HI, tôi hiểu. Nhưng thông tin như loại trình duyệt, nhà cung cấp và ngôn ngữ ưa thích, vv mà chúng tôi có thể truy cập từ biến '$ _SERVER'. Ví dụ: '$ _SERVER ['HTTP_ACCEPT_LANGUAGE']' như thế này cho ngôn ngữ. Mặc dù nó là ngôn ngữ phía máy chủ và thực hiện, chúng tôi vẫn có thể nhận được thông tin như thế này từ khách hàng. Tôi tự hỏi kích thước màn hình cũng nên được cung cấp, nhưng tôi biết nó không phải là trong thế hệ hiện tại có thể là trong tương lai họ có thể thêm @ Femaref – sun

+0

Đó là những tiêu đề http. Http được sử dụng để truy cập các trang web, nhưng đó không phải là điều duy nhất nó làm. Đó là một tiêu chuẩn để truyền dữ liệu, như vậy, những thứ như không gian màn hình (đó là một cái gì đó quan tâm sau khi dữ liệu đến khách hàng là mỹ phẩm) không có một vị trí trong tiêu chuẩn http. – Femaref

5

bạn không thể lấy phía máy chủ, bạn phải đặt phía máy khách với javascript với innerWidth. bạn có thể chuyển nó sang phía máy chủ với AJAX nếu bạn cần.

+0

lý do phủ định? nó có liên quan như câu trả lời được chấp nhận, và tôi trả lời trước khi Matt làm. –

+3

ok, vì vậy innerWidth không hoạt động trong IE cho đến IE9. quên mất điều đó. Tôi sẽ lấy thuốc giảm đau của tôi và đóng cửa ngay bây giờ. –

2

Bạn có thể sử dụng JavaScript. Nhận màn hình của người dùng, gửi nó đến máy chủ và nhận nó bằng php.

+0

bạn có thể gửi một mẫu làm thế nào để gửi dữ liệu đến tập tin php máy chủ thông qua ajax? " – Faizan

Các vấn đề liên quan