2009-07-25 14 views

答えて

0

編集:あなたはCakePHPを使用していましたか?フレームワークを使用していない場合は、次のようにパスを取得します。

まず、URLを再構築する必要があります。

 
$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://"; 
if ($_SERVER["SERVER_PORT"] != "80") 
{ 
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
} 
else 
{ 
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
} 

次に、パスを解析します。それだけ最初のパスを取得したい場合は、null値を取り除く、「/」でそれを爆発した後

 
$parts = parse_url($pageURL); 
$path = $parts['path']; 

、その後、最初のものはそれほどの最初のパスで、となります。

 
$paths = explode('/', $path); 
foreach($paths as $key => $value) 
{ 
    if(!empty($value)) 
    { 
     $new_paths[] = $value; 
    } 
} 
$first_path = $new_paths[0]; 
+0

あなたのアプリケーションの名前を取得するには、すべてこれを行う必要がありますか?確かにそれはどこかに保存されています。 –

+0

これはパスを分割するためのものです。フレームワークを使用している場合、あなたはそれを一度も言及しませんでした。 –

+0

ああ、ケーキの部分を見たことはありません。あなたはその質問に言及すべきです。私はCakePHPについてよく知らないので、私がその道を切り裂くことを明示しています。 –

0

$名前属性と呼ばれるものがありますが、それがアプリケーション名を与えるかどうかはわかりません。 CakePHPのマニュアルは言う:

PHP4のユーザは、$名に 属性を使って コントローラを定義するところからはじめてください。 $ name属性は にコントローラの名前を設定する必要があります。 通常、これはコントローラ を使用してプライマリモデルの複数形の です。これはいくつかのPHP4 classname odditiesを処理し、CakePHP の解決法を助けます。

http://book.cakephp.org/view/52/name

3

私は、あなたがしたいと思う:

$this->webroot 

または

$this->base 

または

$this->here 

を使用してください。この変数の定義については、http://api.cakephp.org/class/controllerを参照してください。

関連する問題