Chào mừng bạn đến với hướng dẫn nhanh về cách lấy URL đầy đủ và các phần URL trong PHP. Bạn cần lấy đường dẫn, cơ sở, tên miền hoặc chuỗi truy vấn từ URL? . Nhưng buồn thay trong PHP, mọi thứ hơi… lạc hậu - Để có được URL đầy đủ trong PHP –
<?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 3 - Để xóa chuỗi truy vấn khỏi URL đầy đủ –
<?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 4
Điều đó sẽ bao gồm những điều cơ bản, nhưng nếu bạn cần “các phần URL” cụ thể hơn – Hãy đọc tiếp để biết thêm ví dụ ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào TLDR – TRANG TRÌNH BÀY NHANHTải xuống & Ghi chúKhái niệm cơ bản về URLURL PHPBit bổ sung & liên kếtKết thúc TẢI XUỐNG & LƯU ÝĐầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa GHI CHÚ NHANHNếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình MÃ VÍ DỤ TẢI XUỐNGNhấp vào đây để tải xuống mã ví dụ, tôi đã phát hành mã này theo giấy phép MIT, vì vậy vui lòng xây dựng trên mã đó hoặc sử dụng mã đó trong dự án của riêng bạn CƠ BẢN về URLĐược rồi, chúng ta hãy bắt đầu với một số phần URL cơ bản “nhàm chán”. Đúng, công cụ này rất quan trọng nếu bạn là người mới CÁC PHẦN URL KHÁC NHAUBây giờ bạn đã biết các phần riêng lẻ của một URL, bây giờ chúng ta hãy xem cách lấy URL đầy đủ và “các phần chung” bằng cách sử dụng PHP 1) CÁC PHẦN URL TRONG PHP1-url-phần. php <?php
// (A) PROTOCOL
echo isset($_SERVER["HTTPS"]) ? "https://" : "http://";
// (B) HOST
echo $_SERVER["HTTP_HOST"];
// (C) PORT
echo $_SERVER["SERVER_PORT"];
// (D) PATH + FILE + QUERY
echo $_SERVER["REQUEST_URI"];
// (E) QUERY
echo $_SERVER["QUERY_STRING"];
print_r($_GET);
Tất cả các phần URL có thể được lấy từ biến <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 5 trong PHPPhần URL của biến & Ví dụ<?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 0Điều này đúng nếu HTTPS được sử dụng. https. // trang web. com. 443/đường dẫn/tệp. php?p=123<?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 1Tên máy chủ. https. // trang web. com . 443/đường dẫn/tệp. php?p=123<?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 2Số cổng. https. //Địa điểm. com. 443 /đường dẫn/đường dẫn/tệp. php?p=123<?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 3Đường dẫn, tệp và truy vấn. https. //Địa điểm. com. 443 /đường dẫn/tệp. php?p=123 <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 4Chỉ chuỗi truy vấn. https. //Địa điểm. com. 443/đường dẫn/tệp. php ?p=123 2) NHẬN URL ĐẦY ĐỦ2-đầy đủ-url. php <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY
Đây gần như là “phiên bản mở rộng” của đoạn giới thiệu, được đóng gói thành một chức năng để bạn tiện theo dõi 3) CÁC PHẦN URL THÔNG DỤNGĐối với “các phần còn lại” không có trong <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 5, chúng tôi sẽ cần phải tự trộn và kết hợp. Dưới đây là một vài trong số những cái phổ biến GIAO THỨC và MÁY CHỦ3 phần. php // (A) PROTOCOL + DOMAIN
$host = isset($_SERVER["HTTPS"]) ? "https://" : "http://"
. $_SERVER["HTTP_HOST"] ;
echo $host;
https. //Địa điểm. com /đường dẫn/tệp. php?p=123 CHỈ ĐƯỜNG DẪN3 phần. php ________số 8https. //Địa điểm. com/ đường dẫn /tệp. php?p=123 CHỈ TÊN TỆP3 phần. php // (C) FILENAME ONLY
// USE BASENAME() TO GET THE FILE + STRIP QUERY STRING
$file = basename($_SERVER["REQUEST_URI"], "?". $_SERVER["QUERY_STRING"]);
echo $file;
https. //Địa điểm. com/đường dẫn/ tệp. php ?p=123 ĐƯỜNG DẪN VỚI TÊN TỆP3 phần. php <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 0https. //Địa điểm. com /đường dẫn/tệp. php ?p=123 THÊM) URL PARSE4-phân tích cú pháp. php <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 1Dành cho các bạn có chuỗi URL từ đâu đó – Có thể dùng hàm <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 6 để lấy nhanh tất cả các phần BIT BỔ SUNG & LIÊN KẾTĐó là tất cả những gì dành cho hướng dẫn và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn THẾ NÀO VỀ Băm?Bạn muốn lấy phần băm của URL? . //Địa điểm. com/đường dẫn/tệp. php #section . Đáng buồn thay, nó không được tìm thấy ở đâu trong <?php
// (A) GETFULLURL() : GETS THE FULL URL
// $QUERY - INCLUDE QUERY STRING?
function getFullURL ($query=false) {
// (A1) THE PROTOCOL
$url = (isset($_SERVER["HTTPS"]) ? "https://" : "http://");
// (A2) HOST
$url .= $_SERVER["HTTP_HOST"];
// (A3) ADD THE PORT ONLY IF IT IS NOT HTTP/HTTPS
if ($_SERVER["SERVER_PORT"] != 80 && $_SERVER["SERVER_PORT"] != 443) {
$url .= ":" . $_SERVER["SERVER_PORT"];
}
// (A4) THE PATH, FILE NAME, AND QUERY
$url .= $_SERVER["REQUEST_URI"];
// (A5) INCLUDE QUERY STRING?
if ($query===false) { $url = strtok($url, "?"); }
// (A6) THE FULL URL
return $url;
}
// (B) GET CURRENT URL
echo getFullURL(true); // WITH QUERY
echo getFullURL(); // WITHOUT QUERY 5. Đặt cược tốt nhất của bạn là sử dụng Javascript để thay thế. LIÊN KẾT và THAM KHẢO- Nhận các phần URL bằng Javascript – Code Boxx
- $_SERVER Superglobal – PHP
- Phân tích cú pháp URL – PHP
BẢNG CHEAT INFOGRAPHICCảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc
Làm cách nào để phân tích cú pháp URL hiện tại trong PHP?
Để lấy URL của trang hiện tại, PHP cung cấp một biến siêu toàn cầu $_SERVER. $_SERVER là một biến có sẵn của PHP, được sử dụng để lấy URL của trang hiện tại. . if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'bật') // Nối host(tên miền, ip) vào URL
Làm cách nào để phân tích các tham số URL trong PHP?
Các tham số từ một chuỗi URL có thể được truy xuất trong PHP bằng cách sử dụng các hàm parse_url() và parse_str() . Ghi chú. URL trang và các tham số được phân tách bằng dấu ? . hàm parse_url(). Hàm parse_url() được sử dụng để trả về các thành phần của URL bằng cách phân tích cú pháp URL đó.
Làm cách nào để bao gồm một URL trong PHP?
Tùy chọn PHP allow_url_include thường cho phép lập trình viên bao gồm () một tệp từ xa (dưới dạng mã PHP) bằng cách sử dụng URL thay vì đường dẫn tệp cục bộ
Làm cách nào để lấy URL cơ sở trong PHP?
Có thể truy xuất URL cơ sở từ một chuỗi bằng hàm PHP parse_url() . Đoạn mã sau cho biết cách lấy URL cơ sở từ chuỗi URL bằng PHP. PHP_URL_SCHEME – Thành phần này trả về lược đồ URL (http/https). PHP_URL_HOST – Thành phần này trả về tên máy chủ (ví dụ. com/www. ví dụ. com). |