Autor | Zpráva | ||
---|---|---|---|
lesiak307 Profil |
#1 · Zasláno: 22. 3. 2010, 11:50:26
Prosím Vás, akou funkciou by som zistil názov súboru, v ktorom sa táto funkcia nachádza? Ďakujem
|
||
panther Profil |
#2 · Zasláno: 22. 3. 2010, 11:58:58
lesiak307:
nechci se mýlit, ale pochybuji, že něco takového jde. |
||
nightfish Profil |
#3 · Zasláno: 22. 3. 2010, 12:14:33 · Upravil/a: nightfish
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 |
#4 · Zasláno: 22. 3. 2010, 12:31:32
[#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 |
#5 · Zasláno: 22. 3. 2010, 12:36:26 · Upravil/a: nightfish
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 |
#6 · Zasláno: 22. 3. 2010, 12:51:33
Ď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 |
#7 · Zasláno: 22. 3. 2010, 12:58:49 · Upravil/a: Majkl578
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 |
#8 · Zasláno: 22. 3. 2010, 13:07:45
[#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 |
#9 · Zasláno: 22. 3. 2010, 13:13:13
Takže takto...
$nazov = explode(".",basename(__FILE__)); echo "nazov je: ".$nazov[0]; |
||
Majkl578 Profil |
#10 · Zasláno: 22. 3. 2010, 13:13:34 · Upravil/a: Majkl578
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 |
#11 · Zasláno: 22. 3. 2010, 13:21:39
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 |
#12 · Zasláno: 22. 3. 2010, 13:24:13
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 |
#13 · Zasláno: 22. 3. 2010, 13:31:37
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 |
#14 · Zasláno: 22. 3. 2010, 13:41:24
Chlapi ďakujem!
Takže toto funguje: $cislo_foto = substr(basename(__FILE__), 0, strrpos(basename(__FILE__), '.')); |
||
Časová prodleva: 14 let
|
0