Nhận URL PHP

Nếu bạn đang duyệt một trang web hoặc một ứng dụng web, PHP sẽ lưu trữ rất nhiều thông tin hữu ích ở chế độ nền. Thông tin này được lưu trữ trong các biến siêu toàn cục của PHP. Đây là các biến được xác định trước có sẵn trong tất cả các loại phạm vi. Bạn có thể sử dụng các biến này để lấy URL hiện tại của trang web

Làm cách nào để có được URL đầy đủ hiện tại?

Biến siêu toàn cục có tên $_SERVER có thể tìm nạp cho bạn URL hiện tại của một trang web. Một số thuộc tính của biến mà bạn có thể truy cập bao gồm HTTP_USER_AGENT, HTTP_HOST và HTTP_ACCCEPT. Đối với URL, chúng tôi sẽ truy cập thuộc tính HTTP_HOST và REQUEST_URl 

Nhưng bạn cần kiểm tra giao thức của trang web, đó là HTTP hay HTTPS

Ví dụ Mã

đầu ra

https://www.stechies.com/current-url.php?v=1

Giải trình

Trong đoạn mã trên, biến siêu toàn cầu $_SERVER được sử dụng để truy cập thuộc tính ‘HTTPS’ để kiểm tra và tìm nạp giao thức được sử dụng cho trang web. Giá trị được gán cho một biến có tên $protocol

Sau đó, biến $_SERVER được sử dụng lại để truy cập vào thuộc tính 'HTTP_HOST' để lấy tên máy chủ. Thuộc tính REQUEST_URl được sử dụng để tìm nạp URL của trang web hiện tại. Cả hai thông tin được thêm vào bằng cách sử dụng toán tử nối (. ) và được lưu trữ trong biến $finalurl. Giá trị này được in ra bằng câu lệnh echo.           

Chức năng hiển thị URL đầy đủ

ví dụ 1

đầu ra

https://www.stechies.com/current-url.php?o=p

Giải trình

Mã này kiểm tra xem trang web hiện tại chạy trên HTTP hay HTTPS bằng cách sử dụng $_SERVER. Sau đó, với giá trị đó (có thể là HTTPS hoặc HTTP), tên máy chủ và URL hiện tại của trang web được thêm vào. Giá trị kết hợp của tất cả thông tin đó cung cấp cho chúng tôi URL đầy đủ của trang web.  

ví dụ 2

đầu ra

https://www.stechies.com/current-url.php?o=p

Bạn có thể sử dụng mã này để lấy URL hiện tại của trang web khi bạn biết rằng trang web của mình đang chạy trên HTTP hoặc HTTPS.   

Ngôn ngữ PHP có các hằng số siêu toàn cầu có thể chứa nhiều thông tin khác nhau. Bạn có thể xác định một trong những hằng số toàn cầu này bằng cách sử dụng một gạch dưới ở đầu tên của chúng

Đặc biệt, siêu toàn cầu mà chúng ta sẽ sử dụng được gọi là “

development.local
0“. Hằng số PHP này chứa thông tin về yêu cầu hiện tại, bao gồm tiêu đề, đường dẫn và vị trí tập lệnh

Sử dụng thông tin mà hằng số này cung cấp, chúng tôi sẽ có thể sử dụng PHP để lấy URL của trang hiện tại

Trước khi chúng tôi tiếp tục, có những tác động bảo mật từ việc sử dụng hầu hết các biến được lưu trữ trong hằng số này. Ví dụ: khách hàng có thể đặt cả “_______61” và “

development.local
2” thành bất kỳ giá trị nào

Trong phần tiếp theo, chúng tôi sẽ chỉ cho bạn cách bạn có thể truy xuất từng phần của

Mục lục

  • Lấy URL trang hiện tại trong PHP
    • Truy xuất tên máy chủ
    • Nhận URI yêu cầu
    • Kiểm tra HTTP hoặc HTTPS
    • Để tất cả chúng cùng nhau
    • Viết một hàm để lấy URL trang hiện tại
  • Sự kết luận

Lấy URL trang hiện tại trong PHP

Không có một hàm hoặc biến đơn lẻ nào mà chúng ta có thể sử dụng để tạo URL trang hiện tại trong PHP. Thay vào đó, chúng tôi phải ghép URL lại với nhau bằng một số giá trị

Trong vài phần tiếp theo, chúng tôi sẽ nhanh chóng xem xét từng biến mà chúng tôi sẽ sử dụng và giới thiệu loại dữ liệu mà nó cung cấp cho chúng tôi

Nếu bạn muốn bỏ qua phần phân tích, hãy chuyển đến phần “Tổng hợp tất cả lại với nhau”

Truy xuất tên máy chủ trong PHP

Phần thông tin đầu tiên chúng tôi cần để lấy URL trang hiện tại là tên máy chủ. Tên máy chủ giống như một nhãn xác định thiết bị. Trong trường hợp URL, đây thường là tên miền của trang web

Ví dụ: tên máy chủ cho trang web của chúng tôi là “

development.local
3“

Tên máy chủ được đặt trong mảng “

development.local
0” bên dưới khóa “
development.local
1“. Đoạn mã nhỏ của chúng tôi bên dưới cho bạn thấy việc lấy giá trị này đơn giản như thế nào

https://www.stechies.com/current-url.php?v=1
2

Chạy đoạn mã nhỏ này, bạn sẽ chỉ có tên máy chủ cho trang hiện tại của mình. Cuối cùng, chúng tôi sẽ sử dụng điều này để tạo URL trang đầy đủ trong PHP

Ví dụ: chúng tôi đã nhận được giá trị sau khi chạy giá trị này trên máy chủ phát triển cục bộ của mình

development.local

Nhận URI yêu cầu trong PHP

Phần thông tin thứ hai chúng ta cần để lấy URL trang hiện tại trong PHP là URI yêu cầu. URI là một phần của URL sau tên máy chủ, bao gồm cả chuỗi truy vấn

Ví dụ: với URL “

development.local
6”, URI yêu cầu sẽ là “
development.local
7“

Giống như tên máy chủ, URI yêu cầu cũng có sẵn trong hằng số siêu toàn cầu “

development.local
0”

Bạn có thể lấy giá trị này bằng cách sử dụng khóa “

development.local
9” của mảng “
development.local
0”, như hình bên dưới

https://www.stechies.com/current-url.php?v=1
9

Kiểm tra điều này một lần nữa trong tập lệnh nhỏ “

https://www.stechies.com/current-url.php?v=1
91” của chúng tôi, chúng tôi nhận được như sau

1

Kiểm tra HTTP hoặc HTTPS trong PHP

Phần cuối cùng chúng ta cần lấy URL trang hiện tại trong PHP là giao thức được sử dụng cho các kết nối này. Điều này quan trọng vì nó cho chúng tôi biết liệu URL hiện tại có chứa “

https://www.stechies.com/current-url.php?v=1
92” hay “
https://www.stechies.com/current-url.php?v=1
93“

Giao thức có lẽ là khó truy xuất nhất, nhưng nó vẫn rất đơn giản

Để kiểm tra xem người dùng có sử dụng HTTPS cho yêu cầu hiện tại hay không, chúng ta có thể kiểm tra siêu toàn cầu “

development.local
0” và xem liệu biến “
https://www.stechies.com/current-url.php?v=1
95” không được đặt thành “
https://www.stechies.com/current-url.php?v=1
96“

Việc sử dụng toán tử bậc ba của PHP (

https://www.stechies.com/current-url.php?v=1
97) cho phép chúng ta đơn giản hóa câu lệnh điều kiện này thành một dòng. Nếu “
https://www.stechies.com/current-url.php?v=1
98” không bằng “
https://www.stechies.com/current-url.php?v=1
96” chúng tôi đặt giao thức thành “
10“, khác chúng tôi đặt thành “
11“

https://www.stechies.com/current-url.php?o=p
2

Mặc dù sẽ thật tuyệt nếu đó là tất cả những gì chúng ta cần làm, nhưng có khả năng khóa “

https://www.stechies.com/current-url.php?v=1
95” không khả dụng hoặc trống

Chúng tôi cũng có thể kiểm tra xem khóa “

13” có được đặt thành 
14 hay không (Cổng được sử dụng bởi HTTPS theo mặc định)

Hãy để chúng tôi điều chỉnh lại mã, bây giờ sử dụng hàm “

15” của PHP trên “
https://www.stechies.com/current-url.php?v=1
98” để xem nó có trống không. Nếu nó trống, chúng tôi sử dụng toán tử hoặc (______217) để kiểm tra xem phím “
13” có được đặt thành 
14 hay không

1

Chạy một trong hai ví dụ mã này sẽ giúp bạn có được giao thức được sử dụng cho kết nối đến

Máy chủ phát triển của chúng tôi được thiết lập để phục vụ qua HTTPS, vì vậy chúng tôi đã nhận được kết quả sau

2

Đặt tất cả lại với nhau để lấy URL trang hiện tại trong PHP

Bây giờ chúng ta đã biết cách lấy giao thức, tên máy chủ và URI yêu cầu, chúng ta có thể sử dụng nó để tạo URL toàn trang

Đầu tiên, chúng tôi sẽ tìm ra giao thức bằng cách sử dụng mảng “

development.local
0” bằng cách sử dụng cả hai khóa “
https://www.stechies.com/current-url.php?v=1
95” và “
13”. Chúng tôi sẽ lưu trữ giao thức trong một biến có tên là “
https://www.stechies.com/current-url.php?o=p
23“

Sau khi chúng tôi đã tìm ra giao thức chính xác, chúng tôi có thể sử dụng giao thức đó để tạo URL trang hiện tại bằng cách sử dụng mở rộng chuỗi của PHP

Chúng tôi tạo chuỗi PHP này bằng cách sử dụng dấu ngoặc kép, tham chiếu từng biến sau trong chuỗi theo thứ tự sau “

https://www.stechies.com/current-url.php?o=p
23“, “
https://www.stechies.com/current-url.php?o=p
25” và “
https://www.stechies.com/current-url.php?o=p
26“

Khi PHP xử lý chuỗi, nó sẽ mở rộng từng biến thành giá trị của nó

Cuối cùng, chúng tôi sử dụng từ khóa echo của PHP để xuất giá trị mà chúng tôi đã lưu trữ trong biến “

https://www.stechies.com/current-url.php?o=p
27”

https://www.stechies.com/current-url.php?o=p
1

Sau khi chạy đoạn PHP này, bạn sẽ nhận được đầu ra URL của trang hiện tại. Ví dụ của chúng tôi, chúng tôi nhận được URL sau

https://www.stechies.com/current-url.php?o=p
2

Viết một hàm để lấy URL trang hiện tại trong PHP

Hãy để chúng tôi kết thúc vấn đề này bằng cách viết một hàm cho phép bạn lấy URL trang hiện tại bằng PHP một cách nhanh chóng

Với điều này, chúng ta đang tạo một hàm gọi là “______328“. Trong chức năng này, chúng tôi sử dụng cùng một mã trước đây

Tuy nhiên, lần này thay vì đặt URL của trang thành một biến, chúng tôi sẽ trả về dưới dạng chuỗi

https://www.stechies.com/current-url.php?o=p
4

Giờ đây, bất cứ khi nào bạn cần URL trang hiện tại, bạn có thể sử dụng “

https://www.stechies.com/current-url.php?o=p
28“

Sự kết luận

Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách có thể lấy URL của trang hiện tại trong PHP

Nhờ hằng số toàn cầu “

development.local
0”, tất cả thông tin chúng tôi cần để tạo URL trang đều có sẵn. Khi sử dụng điều này trong môi trường sản xuất, bạn nên xem xét việc vệ sinh các giá trị để đảm bảo chúng an toàn

Nếu bạn có bất kỳ câu hỏi nào về cách lấy URL trang hiện tại bằng PHP, vui lòng bình luận bên dưới

Vui lòng xem nhiều hướng dẫn PHP khác của chúng tôi hoặc nếu bạn muốn học một ngôn ngữ mới, hãy xem hướng dẫn mã hóa của chúng tôi

Làm cách nào tôi có thể nhận URL trong PHP?

Các biến siêu toàn cục cần thiết như $_SERVER['HTTPS'], $_SERVER['REQUEST_URI'], $_SERVER['SERVER_PORT'] are used to get full URL in PHP. The variable HTTPS can easily retrieve the protocol in the URL of a webpage. If it returns a value “on”, then the protocol is HTTPS.

$_ NHẬN trong PHP là gì?

PHP $_GET là một biến siêu toàn cầu PHP được sử dụng để thu thập dữ liệu biểu mẫu sau khi gửi biểu mẫu HTML bằng method="get" . $_GET cũng có thể thu thập dữ liệu được gửi trong URL. Giả sử chúng ta có một trang HTML chứa một siêu liên kết với các tham số.

Làm cách nào để lấy URL slug trong PHP?

$_ máy chủ [' Request_uri '] là gì?

$_SERVER['REQUEST_URI'] chứa URI của trang hiện tại . Vì vậy, nếu đường dẫn đầy đủ của một trang là https. //www. w3resource. com/html/html-hướng dẫn. php, $_SERVER['REQUEST_URI'] sẽ chứa /html/html-tutorials. php. Mã php sau đã sử dụng biến $_SERVER['REQUEST_URI'].