webForumDet fria alternativet

Namnet på den egna filen

PHP

4 svar · 243 visningar · startad av nkrantz

Medlem sedan apr. 2002830 inlägg
Frågan#1

Hej!

Håller på bygger ett adminsystem, där användarna kan ha olika behörigheter och skall inte komma år vissa filer. Jag vill att varje PHP fil skall ha en rad kod höst upp där den inkluderar en fil, eventuellt anroppar en funktion där den kollar sitt eget filnamn mot behörighetstabellen i databasen.

Mitt problem är hur jag skall få det egna filnamnet. $PHP_SELF ger ju den relativa adressen, men jag vill bara ha filnamnet, ex adminCreateArticle.php

Jag hittar inga sådan variabel, alternativer är väl att använda sig av $PHP_SELF å sen strippa av sökvägen, men det tycker jag verkar onödigt.

Hjälp, gärna snabbt, jag vet att ni kan! ;)

//Nippe

Medlem sedan maj 20021 466 inlägg
#2

Det finns nog inget annat sätt, men med basename går det snabbt och lätt. :)

Medlem sedan apr. 2002830 inlägg
#3

hm.. jag hittade inget lämligt sätt att göra det på utan för mycket bök.. men här är iaf koden med böket ;)

$file = $PHP_SELF;
$fileArray = array();
$myfile = "x";

$counter = 0;
for ($i=0; $i<strlen($file); $i++)
{
	if ($file[$i] == '/')
	{
		reset($fileArray);
		$counter = 0;
	}
	else
	{
		$fileArray[$counter] = $file[$i];
		$counter++;
	}
}

for ($i=0; $i<$counter; $i++)
{
	$myfile[$i] = $fileArray[$i];
}
echo "$myfile";
Medlem sedan aug. 20002 975 inlägg
#4

Som Marcus E säger:

$file = basename($PHP_SELF);

ger dig filnamnet.

Sen kan du ta fram filnamnet med _FILE_ också, men jag har för mig att du även där får sökvägen med. Vad skillnaden är kommer jag inte ihåg, och har ingen möjlighet att prova.

Medlem sedan apr. 2002830 inlägg
#5

hrmpf... ja.. just det.. basename funkar alldeles utmärkt.. hm... ;)

262 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)