[PHP] Lấy đường dẫn URL của trang hiện tại
Có bao giờ bạn muốn lấy đường dẫn (url — link) của trang hiện tại như hình vẽ dưới đây ?
Tôi nghĩ có đôi lúc bạn sẽ cần dùng đến đường dẫn trang hiện tại, ví dụ bạn cần lưu đường dẫn vào 1 biến tạm để nếu nhấn nút Back sẽ trở lại đúng trang đó, kiểm tra người dùng đang ở trang nào, đang thao tác những gì….Nói chung yêu cầu thì muôn hình vạn trạng. Đoạn code dưới đây sẽ giúp bạn lấy được url :
<?php function getCurrentPageURL() { $pageURL = 'http'; if (!empty($_SERVER['HTTPS'])) { if ($_SERVER['HTTPS'] == 'on') { $pageURL .= "s"; } } $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"]; } else { $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; } return $pageURL; } ?>
Đọc đoạn code ở trên, có thể có nhiều bạn bỡ ngỡ, thắc mắc không hiểu chức năng của biến $_SERVER[“SERVER_NAME”], $_SERVER[“SERVER_PORT”]…Sau khi đọc chú thích dưới đây, các bạn sẽ gỡ bỏ được các khúc mắc đó.
Ví dụ tôi có một đường dẫn như sau:
http://sinhvienit.net/@forum/showthread.php?t=2053
Thì khi sử dụng biến $_SERVER, chúng ta sẽ thu được các kết quả tương ứng như sau
- $_SERVER[‘HTTP_HOST’] => sinhvienit.net
- $_SERVER[‘PHP_SELF’] => /@forum/showthread.php
- $_SERVER[‘REQUEST_TIME’] => Thời gian mà client gửi request ở dạng TIME _STAMP
- $_SERVER[‘QUERY_STRING’] => t = 2053
- $_SERVER[‘DOCUMENT_ROOT’] = Thư mục gốc chứa mã nguồn. VD: /home/sinhvienit/public_html (đối với Linux) hay C:\www (đối với windows)
- $_SERVER[‘HTTP_REFERER’] = Cái này bạn đang trên http://www.google.com.vn/search?q=sinhvienit mà click vào link tới sinhvienit.net thì nó có giá trị http://www.google.com.vn/search?q=sinhvienit
- $_SERVER[‘REMOTE_HOST’] = Hostname của người truy cập
- $_SERVER[‘REMOTE_PORT’] = Port mà trình duyệt mở ra để kết nối tới server
- $_SERVER[‘REQUEST_URI’] => /@forum/showthread.php?t=2053
- $_SERVER[‘SERVER_NAME’] = Tên của server (Gần giống với computer-name) ở máy PC của mình. Ví dụ server.sinhvienit.net
- $_SERVER[‘SERVER_ADDR’] = IP của server
- $_SERVER[‘REMOTE_ADDR’] = IP của người truy cập
- $_SERVER[‘HTTP_USER_AGENT’] = Thông tin về trình duyệt của người truy cập
Hi vọng đoạn code sẽ giúp ích cho các bạn. Thân ái !
Có ích cho mình đây!
thank bạn, bài viết rất có ích với mình.
Thank you! đúng lúc đang cần 😀
tuyệt vời:mà bạn ơi cho mình hỏi để lấy tên miền của trang thì làm thế nào
Để lấy tên miền thì bạn chỉ cần dùng biến $_SERVER[“SERVER_NAME”] hoặc $_SERVER[‘HTTP_HOST’]. Ví dụ:
Lấy rồi Lưu vào đâu vậy bạn, mình muốn nó tự động chèn vào form, khi khách hàng submit thì biết là khách hàng submit từ link nào thì phải làm chi tiết thế nào, mình dùng opencart 2.0
Bạn cho hỏi muốn tìm Email của quản trị viên một trang web thì phải làm thế nào ? Nói chung là muốn liên hệ với quản trị mạng thì làm cách nào bạn chỉ giúp mình với ?