2009-12-09 33 views

Trả lời

25

Xin xem PHP Get Current URL:

Đôi khi nó không phải là đơn giản như người ta có thể nghĩ rằng để có được những url hiện tại để sử dụng nó bên trong ứng dụng của bạn. Đây là đoạn trích mà tôi sử dụng để tìm nạp URL hiện tại và sử dụng đoạn mã đó trong tập lệnh . Url hiện tại (cho dù http hoặc https) bây giờ là biến cục bộ mà bạn có thể thực hiện theo ý muốn.

$url = "http".(!empty($_SERVER['HTTPS'])?"s":""). 
"://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 

Lưu ý: Bạn nên chú rể giá trị này trước khi sử dụng trong bất cứ điều gì nhạy cảm, giống như một truy vấn sql.

+0

này là mất tích .. – b3wii

+0

nếu bạn sử dụng viết lại để thêm các biến sau tập lệnh, như /x.php/123/456 sau đó sử dụng REQUEST_URI sẽ bao gồm các thông số đó. SCRIPT_NAME có thể tốt hơn. –

2

Bạn cần thông tin như thế này thường thuận tiện để xem đầu ra của phpinfo() và sau đó đọc tài liệu về những mục có vẻ tốt.

Hãy ghi nhớ rằng một số trong số họ có thể là đúng trên máy chủ của bạn, nhưng hơi khác nhau vào người khác .. Tùy thuộc vào os, http máy chủ vv

0

giả sử bạn đang truy cập

How do I get the current URL of my script using PHP?

sau đó echo $ _SERVER ['SERVER_NAME']; // này sẽ trở lại u tên máy đó là: -

stackoverflow.com/

echo $ _SERVER [ 'REQUEST_URI']; // Nó sẽ chỉ trả lại tên tệp từ url hiện tại sẽ trở lại bên dưới

"/ câu hỏi/1871770/cách-làm-i-get-the-current-url-of-my-script-using-php"

chứ không phải tên máy chủ.

+0

Không sử dụng * PHP_SELF *. – Gumbo

+0

có ... PHP_SELF sẽ chỉ trả về tệp ... chứ không phải các thông số khác .. và nếu cần có đường dẫn đầy đủ thì anh ấy phải sử dụng "REQUEST_URI" và tôi đã chỉnh sửa câu trả lời của mình .. – ravindrakhokharia

+1

chưa kể đến PHP_SELF dễ bị XSS. –

3

Nếu bạn muốn biết tên kịch bản trên máy chủ của bạn, sau đó ..

$file = $_SERVER["SCRIPT_NAME"]; 
echo $file; 

$ _SERVER [ "SCRIPT_NAME"] sẽ cung cấp cho bạn con đường kịch bản thực hiện, trong đó liên quan trên máy chủ của bạn không trên url của trình duyệt.

3

Đối www.example.com/files/script.php

$_SERVER['SCRIPT_NAME'] = /files/script.php

và nếu bạn muốn url thư mục hiện hành:

dirname($_SERVER['SCRIPT_NAME']) = /file

0

Hi đây là giải pháp của vấn đề của bạn

// lấy url trang của thành viên này

$url=$_SERVER['REQUEST_URI']; 
echo "$url<br />"; 

// it w ốm in

// lấy chủ của thành viên này

$host=$_SERVER['HTTP_HOST']; 
echo "$host<br />"; 

// bạn có thể lấy đầy đủ url bằng cổng máy chủ

$fullurl="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
echo $fullurl; 
Các vấn đề liên quan