2009-07-25 7 views

Antwort

0

Bearbeiten: Habe nicht gesehen, dass Sie CakePHP verwendet haben. Wenn Sie keine Frameworks verwenden, erhalten Sie den Pfad über diesen:

Zuerst müssen Sie die URL rekonstruieren.

 
$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"]; 
} 

Dann analysieren Sie es für den Pfad.

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

Danach, wenn Sie den ersten Weg nur zu bekommen, explodieren sie auf ‚/‘, die Nullwerte Streifen aus, und dann die erste wird der erste Weg sein, und so weiter.

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

Sie müssen alles tun, um den Namen Ihrer Anwendung zu erhalten? Sicher ist es irgendwo gespeichert. –

+0

Das ist für den Weg zu brechen. Wenn Sie ein Framework verwenden, haben Sie es nie erwähnt. –

+0

Ah .. sah nie den CakePHP Teil. Sie sollten das in der Frage erwähnen. Ich werde klarstellen, dass meine Aufgabe darin besteht, den Weg aufzubrechen, da ich nicht viel über CakePHP weiß. –

0

Es gibt etwas namens $ Name-Attribut, aber ich bin mir nicht sicher, ob das den Anwendungsnamen gibt. Die CakePHP Handbuch sagt:

PHP4-Benutzer sollten ihre Controller Definitionen mit dem $ name Attribut beginnen. Das Attribut $ name sollte auf den Namen des Controllers setzen. Normalerweise ist dies nur die Pluralform des primären Modells, das der Controller verwendet. Dies kümmert sich um einige PHP4 Klassennamen Kuriositäten und hilft CakePHP Namensauflösung.

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