Seite 1 von 2

.html oder .php

Verfasst: 16.06.2008 19:44
von vbboard
Hey,
ich habe mir mit folgendem Script eine Abfrage geschrieben, über welche URL eine Datei aufgerufen wird:

Code: Alles auswählen

<?php
$seite = $_SERVER['REQUEST_URI'];
$array =explode(".",$seite);
$array1 =explode("?",$array[1]);
$html ="html";
$php ="php"; 
if ($array1[0] = $php) 
{
echo "php";
}
else
{
echo "html";
}
?>
Ich denke das funktioniert so allerdings nicht, da es ja eine php Datei ist die per Mod_rewrite als HTML aufgerufen wird.
den er sagt auch wenn ich es per php aufrufe "php".
Gibt es eine andere möglichkeit festzustellen ob die datei über .html oder .php aufgerufen wurde?
mfg

Verfasst: 16.06.2008 20:57
von vbboard
Bin jetzt nen Schritt weiter.

Code: Alles auswählen

<?php
$seite = $_SERVER['REQUEST_URI'];
$array =explode(".",$seite);
$array1 =explode("?",$array[1]);
$html ="html";
$php ="php"; 
if ($array1[0] == $php) 
{
echo "hallo";
}
else
{
echo "doof";
}
?>
das funktioniert soweit auch, allerdings wenn ich die Domain oben ohne jegliche zuweisung aufrufe, wird ja automatisch die index.php aufgerfuen, dies steht aber nicht im header des browsers somit kann er die arrays nicht zuweisen und es kommt
Notice: Undefined offset
weiß einer wie ich das behebe?

Verfasst: 16.06.2008 21:11
von djchrisnet
sehe ich das richtig, dass du nur wissen willst, ob die aufgerufene datei eine php oder html ist?

aktuelle dateiendung:

Code: Alles auswählen

substr(strrchr(__FILE__, '.'), 1);

eventuell analog dazu:(keine garantie)

Code: Alles auswählen

substr(strrchr($_SERVER['REQUEST_URI'], '.'), 1);

Verfasst: 16.06.2008 21:28
von vbboard
hey, danke das erste funktioniert.

edit: doch nicht, da ja die php per rewrite_aufgerufen wird, spuckt er dennoch php aus.

edit 2: doch das 2te funktioniert. thx

Verfasst: 16.06.2008 21:31
von djchrisnet
vor dem ersten code steht ja auch "aktuelle dateiendung"

Verfasst: 16.06.2008 21:31
von vbboard
ja das 2te funktionier siehe edit 2^^ thx.

Verfasst: 16.06.2008 21:36
von djchrisnet
gerne der code ist übrigends ausm phpbb3. kenner haben es sicher schon bemerkt ;)

Verfasst: 16.06.2008 21:39
von vbboard
ja mit phpbb 3 hab ich bis jetzt noch nicht viel gearbeitet.

Verfasst: 16.06.2008 21:43
von vbboard
weiß noch jemand wie ich 2 header per php ausgebe also einmal 401 und einmal 300 ? mfg

edit: weil so bekomme ich einen fehler:
if ($seite == $php)
{
Header('HTTP/1.1 401 Unauthorized 301 Moved Permanently');
}
else
{
Header('HTTP/1.1 401 Unauthorized');
}
und ich bekomme den fehler das er den header schon gesendet hat, aber eigentlich sollte er das else doch erst machen wenn das if nicht ist oder?

Verfasst: 16.06.2008 22:04
von FCM
Gib uns mal die volle Fehlermeldung und die gesamte Datei. BTW: Ich dachte du bist gesperrt MrMysteria?