Autor Zpráva
lesiak307
Profil
Prosím Vás, akou funkciou by som zistil názov súboru, v ktorom sa táto funkcia nachádza? Ďakujem
panther
Profil
lesiak307:
nechci se mýlit, ale pochybuji, že něco takového jde.
nightfish
Profil
lesiak307:
Prosím Vás, akou funkciou by som zistil názov súboru, v ktorom sa táto funkcia nachádza?
pokud chceš zjistit jméno aktuálního souboru, tak použij konstantu __FILE__
lesiak307
Profil
[#3] nightfish:
pokiaľ sa nemýlim, file() vráti obsah súboru ako pole.
Ja potrebujem názov súboru v ktorom by sa funkcia nachádzala...
nightfish
Profil
lesiak307:
doplnil jsem do [#3] jeden odkaz, ten si prostuduj velmi pečlivě
(hlavně doporučuji nastudovat rozdíl mezi funkcí a konstantou)
lesiak307
Profil
Ďakujem, presne toto som potreboval!!! :)))

nightfish:
doporučuji nastudovat rozdíl mezi funkcí a konstantou
No to som fakt o tom nevedel. Ďakujem
Majkl578
Profil
Existuje ještě jiná možnost. Použití __FILE__ je omezené - je třeba danou funkci zavolat.
Lze to řešit čistěji, pomocí Reflection API, kde lze reflektováním zjistit informace o konkrétní funkci. Reflection API vlastně umožňuje zpětné inženýrství různých částí PHP kódu.

function foo()
{}

$ref = new ReflectionFunction('foo');
echo $ref->getFileName(); //adresa souboru, ve které je funkce definována
lesiak307
Profil
[#7] Majkl578:
ďakujem, ale myslim, že toto skôr použijem:
basename(__FILE__)

Potrebujem len názov súboru a bez prípony. Aj to ešte neviem ako spraviť :)
lesiak307
Profil
Takže takto...

$nazov = explode(".",basename(__FILE__));

echo "nazov je: ".$nazov[0];
Majkl578
Profil
lesiak307:
Potrebujem len názov súboru a bez prípony. Aj to ešte neviem ako spraviť :)
Zjištění přípony:
echo substr(strrchr(basename(__FILE__), '.'), 1);

Zjištění jména souboru:
echo substr(basename(__FILE__), 0, -strlen(strrchr(basename(__FILE__), '.')));


Použití explode je nevhodné, co když bude mít název souboru také tečku?
lesiak307
Profil
tak to je pravda...
No ja to potrebujem len pre svoju potrebu. Ide fotogalériu. Názvy súborov dávam 1.php až xx.php
Joker
Profil
lesiak307:
Takže takto...
Takhle ne, potenciálně mohou být tečky i v názvu souboru a pak to nebude fungovat. Lepší bude useknout jen část za poslední tečkou a vrátit ten zbytek.

Majkl578: To udělá přesný opak toho co chtěl, ne? Vrátí to jen samotnou příponu.
Samotný název by šel udělat takhle:
substr(__FILE__, 0, strrpos(__FILE__, ".")-1)
Majkl578
Profil
Joker:
Po odeslání jsem ten příspěvek ještě editoval.
To tvoje uřízne poslední znak v názvu (kvůli -1).
echo substr(basename(__FILE__), 0, strrpos(basename(__FILE__), '.'));
lesiak307
Profil
Chlapi ďakujem!
Takže toto funguje:
$cislo_foto = substr(basename(__FILE__), 0, strrpos(basename(__FILE__), '.'));

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0