web-dev-qa-db-ja.com

CodeIgniter->ベースURLに関連する現在のURLを取得

URI::uri_string() を試しましたが、base_urlで動作させることができません。

URL:http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
戻り値:dropbox/derrek/shopredux/ahahaha/hihihi

しかし、http://localhost/dropbox/derrek/shopredux/は単に空の文字列を返します。

最初の呼び出しで「ahahaha/hihihi」を返し、2番目の呼び出しで「」を返します。そのような機能はありますか?

20
makuumba
// For current url
echo base_url(uri_string());
55
Nessler

urlヘルパーがロードされている場合、使用

current_url();

良くなります

30
user3024431

この投稿は古いことがわかります。しかし、バージョンCI v3の答えは次のとおりです。

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

ありがとう

10
Karim Mtl

次のような「uri」セグメントを使用してみてください。

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

最初のURLを形成します...また、それらが空であるため、segment(5)、segment(6)についても2番目のURlから ''を取得します。

すべてのセグメント機能カウントは、ローカルホストから「1」および同時セグメントとして開始されます

10
Gautam3164

パラメーターの場合、またはパラメーターURLなしの場合:

方法1:

 $currentURL = current_url(); //for simple URL
 $params = $_SERVER['QUERY_STRING']; //for parameters
 $fullURL = $currentURL . '?' . $params; //full URL with parameter

方法2:

$full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_Host]$_SERVER[REQUEST_URI]";

方法3:

base_url(uri_string());
9
Danish Ali
 //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();
5
ashraf mohammed

最新のCode Igniter 3.10の実行

$this->load->helper('uri'); // or you can autoload it in config

print base_url($this->uri->uri_string());
0
stevebaros

そのような関数があるかどうかはわかりませんが、$ this-> uri-> uri_to_assoc()を使用すると、$ _ GETパラメーターから連想配列を取得できます。これと、あなたがいるコントローラーで、URLがどのように見えるかがわかります。上記のURLでは、これはコントローラードロップボックスにあり、配列は次のようになることを意味します。

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

これにより、このような機能を自分で作成できるはずです。

0
Shimu

CI v3では、次を試すことができます。

function partial_uri($start = 0) {
    return join('/',array_slice(get_instance()->uri->segment_array(), $start));
}

これにより、$start引数で指定されたURLセグメントの数が削除されます。 URLがhttp://localhost/dropbox/derrek/shopredux/ahahaha/hihihiの場合:

partial_uri(3);  # returns "ahahaha/hihihi"
0
Michael Krebs