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 henning.heil at dl.deutsche-leasing.de
Mit Mar 3 16:12:24 CET 2004


Hi,

der thread scheint wohl untergegangen (nur deswegen nochmal als full 
quote), ich habe den code nochmal etwas aufwändiger gebaut:

$location = "http://".$_SERVER['HTTP_HOST'].$_SERVER["PHP_SELF"];
$origlen = strlen($location);
$newlen = $origlen - strlen("index.php");
$location = substr($location,0,$newlen)."startup.php";

Das Problem bleibt aber leider wie unten beschrieben. Kennt jemand die 
Ursache und einen workaround?

Danke & Gruss,

Henning



++++ Henning Heil wrote on 28.02.2004 00:22 ++++

> '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?



php::bar PHP Wiki   -   Listenarchive