2012-03-26 24 views
4

ich die folgende Fehlermeldung erhalten, wenn ich $_SERVER['PATH_INFO'] auf meinem localhost verwenden:

Notice: Undefined index: PATH_INFO 

ich WAMP bin mit. Kann mir jemand sagen, warum das passiert?

+0

verwandt: [st ackoverflow.com/questions/7818038/..](http://stackoverflow.com/questions/7818038/serverpath-info-undefined-index-path-info) – safarov

+1

Das bedeutet, es gibt keine PATH_INFO Schlüssel im SERVER-Array. Ist Ihr Apache so konfiguriert, dass path_info erlaubt ist? –

Antwort

4

Wenn Ihre URL wie diese http://localhost/ sieht dann ist $_SERVER['PATH_INFO']nicht Set.

+0

Was ist eine bessere Möglichkeit, um meine Pfadinfo zu erhalten? Ich brauche 'www.mysite.com/this-dir/not-this-dir' Danke! –

+0

@Paul möchten Sie ['getcwd()'] (http://php.net/manual/en/function.getcwd.php) Ich glaube. – Neal

+3

Warum nicht die $ _SERVER ['REQUEST_URI'] um '/' explodieren oder wenn dir nur das erste Stück der URL wichtig ist, benutze einen substr und strpos, um den ersten Teil davon zu bekommen. – Brian

21

PATH_INFO ist nicht immer festgelegt. Es wird nur gesetzt, wenn nach dem Skript Trailing-Pfadinformationen vorhanden waren.

Zum Beispiel wenn Sie eine Datei hier zu finden: localhost/index.php Und Sie Zugriff auf sie über diese URL: localhost/index.php/foo/bar

dann $ _SERVER [ 'PATH_INFO' ] wird auf einen Wert von „/ foo/bar“

aber gesetzt werden, wenn Sie das Skript über die uRL: localhost/index.php dann eingestellt werden PATH_INFO nicht, und Sie werden eine Nachricht wie die für sehen versuchen, auf einen undefinierten Index eines Arrays zuzugreifen

+0

Danke für die Info! –