In reply to adrian,
Thank you very much for your function. There is a small issue with your relative protocol function. You need to remove the // when making the url the path. Here is the new function.
________số 8_______
}
// Step 7
return unparse_url($base);
}
urlencode function and rawurlencode are mostly based on RFC 1738.
However, since 2005 the current RFC in use for URIs standard is RFC 3986.
Here is a function to encode URLs according to RFC 3986.
function myUrlEncode($string) {
$entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
$replacements = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
return str_replace($entities, $replacements, urlencode($string));
}
?>
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
//www.stechies.com/current-url.php?v=1Giả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
//www.stechies.com/current-url.php?o=pGiả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
//www.stechies.com/current-url.php?o=pBạ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.