phpbar.de logo

Mailinglisten-Archive

[php] dirname($_SERVER['PHP_SELF']) WinXP local vs Linux remote

[php] dirname($_SERVER['PHP_SELF']) WinXP local vs Linux remote

Henning Heil lists at h-quadrat.com
Sam Feb 28 00:22:16 CET 2004


'n Abend!

Bin gerade etwas konfus, vielleicht kann jemand mal erleuchten!?! 
Folgender code-Schnipsel liefert (als Teil von index.php)

$location = "http://".$_SERVER['HTTP_HOST'];
$mydir = dirname($_SERVER["PHP_SELF"]);
$location .= $mydir;
if($debug >= 1) echo "<br> #### debug #### location: ".$location;
$location .= "/startup.php";
if($debug >= 1) echo "<br> #### debug #### location: ".$location;

1.1. beim navigieren auf WinXP local zu location 
http://internal.h-quadrat.com/@web/rocketprojects.net/curbanoglu.com/backoffice

#### debug #### location: 
http://internal.h-quadrat.com/@web/rocketprojects.net/curbanoglu.com/backoffice
#### debug #### location: 
http://internal.h-quadrat.com/@web/rocketprojects.net/curbanoglu.com/backoffice/startup.php

1.2. beim navigieren auf WinXP local zu location 
http://internal.h-quadrat.com/@web/rocketprojects.net/curbanoglu.com/backoffice/index.php

#### debug #### location: 
http://internal.h-quadrat.com/@web/rocketprojects.net/curbanoglu.com/backoffice
#### debug #### location: 
http://internal.h-quadrat.com/@web/rocketprojects.net/curbanoglu.com/backoffice/startup.php

2.1. beim navigieren auf Linux remote zu location 
http://www.rocketprojects.net/curbanoglu.com/backoffice/

#### debug #### location: http://www.rocketprojects.net/curbanoglu.com
#### debug #### location: 
http://www.rocketprojects.net/curbanoglu.com/startup.php

2.2. beim navigieren auf Linux remote zu location 
http://www.rocketprojects.net/curbanoglu.com/backoffice/index.php

#### debug #### location: 
http://www.rocketprojects.net/curbanoglu.com/backoffice
#### debug #### location: 
http://www.rocketprojects.net/curbanoglu.com/backoffice/startup.php

Der Vergleich zeigt, dass auf der remote-Kiste bei 2.1. irgendwie ein 
Verzeichnis verschluckt wird! Wie kann das sein, das Skript ist doch 
irgendwie fast Narrensicher (o.k., wir alle wissen, das gibt es nicht)? 
Ich habe auch nochmal eine komplett andere Variante ausprobiert (in 
etwa: filename Länge ermitteln, am Ende entsprechend abschneiden, dann 
neuen filename anhängen), das Problem mit dem Verzeichnis tritt einfach 
beständig auf. Ist recht unschön, wie sich unschwer erraten lässt 
verwende ich den code für redirects und dann gibt's jedesmal nen 404.

Kann das jemand erklären? Ein bug? Oder auf den OSes so per Definition? 
Workaround?

Danke für Eure Hinweise,

Henning

php::bar PHP Wiki   -   Listenarchive