# Codeigniter APPPATH BASEPATH FCPATH 各種パスと URL 取得

codeigniter 使って開発するなら、APPPATH は誰でもしているはずですが、あまり使わない BASEPATH や host URL 取得するための site_url() url ヘルパーの使い方は忘れがちですね。

APPPATH BASEPATH と FCPATH

APPPATH とは /application/
よく使う APPPATH は APP の PATH でわかりやすい!Codeigniter applicationディレクトリのパス(index.php から「application」への相対パス)になります。

BASEPATH とは /system/
Codeigniter コアフォルダ systemディレクトリの物理パス

FCPATH とは
CodeIgniter の index.php が存在するディレクトリ

# url ヘルパー

$this->load->helper('url');

echo site_url('news/local/123');
// http://example.com/index.php/news/local/123

echo base_url("blog/post/123");
// http://example.com/blog/post/123

echo current_url();
// blog/post/123

echo index_page();
// 設定configファイルに設定されているindex_page返す

redirect('/login');
// 指定パスへリダイレクト

# redirect ヘッダ リダイレクト

redirect($uri = '', $method = 'auto', $code = NULL)

  • $uri (string) – URI 文字列
  • $method (string) – 利用可能なメソッドは auto location refresh
  • $code (string) – HTTP Response Code(通常 302 or 303)

# current_url() 現在の URL 取得

現在表示されているページの完全な URL(セグメントを含む)を 返します。
site_url(uri_string())と同じ機能しますが、より簡単に使えます。

echo current_url();
// blog/post/123

uri_string()は URI セグメントを返します

echo uri_string();
// http://example.com/blog/post/123の場合
// blog/post/123

# $_SERVER サーバー情報

Codeigniter だけでなく、PHP なら$_SERVER でいろいろ取得できますので、php 公式ドキュメント (opens new window)参考に

  • SERVER_ADDR サーバー IP アドレス
  • SERVER_NAME サーバーネーム
  • REMOTE_ADDR リモート IP アドレス
  • HTTP_HOST ホスト取得
  • REDIRECT_STATUS HTTP ステータスコード
$host = $_SERVER['HTTP_HOST'];
$protocol=$_SERVER['PROTOCOL'];     // 'https' 'http'

$_SERVER['HTTP_X_FORWARDED_FOR'];
$_SERVER['REMOTE_ADDR'];

$_SERVER["REDIRECT_STATUS"]
2021-08-24

同じタグを持つ記事をピックアップしました。