2012-09-03 26 views
7

Đã thử URI::uri_string() nhưng không thể làm cho URL hoạt động với base_url.CodeIgniter -> Nhận URL hiện tại liên quan đến url cơ sở

URL: http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
Returns: dropbox/derrek/shopredux/ahahaha/hihihi

nhưng http://localhost/dropbox/derrek/shopredux/ chỉ trả về một chuỗi rỗng.

Tôi muốn cuộc gọi đầu tiên trả lại "ahahaha/hihihi" và người thứ hai trả lại "". Có chức năng như vậy không?

Trả lời

0

Tôi không biết nếu có một chức năng như vậy, nhưng với $ this-> uri-> uri_to_assoc() bạn sẽ nhận được một mảng kết hợp từ các tham số $ _GET. Với điều này, và bộ điều khiển bạn đang ở, bạn biết URL trông như thế nào. Trong bạn trên URL này có nghĩa là bạn sẽ có trong dropbox điều khiển và mảng sẽ là một cái gì đó như thế này:

array("derrek" => "shopredux", "ahahaha" => "hihihi"); 

Với điều này bạn sẽ có thể để thực hiện một chức năng như vậy một mình.

10

Cố gắng sử dụng "uri" phân khúc như:

$this->uri->segment(5); //To get 'ahahaha' 
$this->uri->segment(6); //To get 'hihihi 

tạo URL đầu tiên của bạn ... Bạn nhận được '' từ URL thứ hai cũng cho phân khúc (5), phân đoạn (6) cũng bởi vì họ là rỗng .

Mỗi phân khúc đếm chức năng bắt đầu hình thức localhost là '1' và đoạn symultaneous

+0

FYI - Tôi thấy khi sử dụng CodeIgniter 2.1.3 mà các phân đoạn bắt đầu tại 0, không phải 1 như đã đề cập trong câu trả lời. Ví dụ. '$ this-> uri-> segment (1)' cho '" http://example.com/first/second "' là '" đầu tiên "'. – user9645

5
//if you want to get parameter from url use: 
parse_str($_SERVER['QUERY_STRING'], $_GET); 
//then you can use: 
if(isset($_GET["par"])){ 
     echo $_GET["par"]; 
} 
//if you want to get current page url use: 
$current_url = current_url(); 
36
// For current url 
echo base_url(uri_string()); 
+2

Tải trình trợ giúp URL là cần thiết. –

16

Nếu url helper được nạp, sử dụng

current_url(); 

sẽ tốt hơn

+0

trợ giúp nào? url helper? điều này trả về một đường dẫn đầy đủ: những gì bout muốn nhận -> chào mừng/home, người dùng/loại đăng nhập của url? – danielad

+0

Tôi đã sai điểm, xin lỗi. nhưng '$ _SERVER ['REQUEST_URI']' có thể đơn giản đáp ứng yêu cầu ở trên – user3024431

2

tôi thấy rằng bài đăng này cũ. Nhưng trong phiên bản 3 ở đây là unswer:

echo $this->uri->uri_string(); 

Cảm ơn

2

cho tham số hoặc không có URL tham số Sử dụng này:

$currentURL = current_url(); //for simple URL 

$params = $_SERVER['QUERY_STRING']; //for parameters 

$fullURL = $currentURL . '?' . $params; //full URL with parameter 
Các vấn đề liên quan