Zadejte hledaný výraz...

include

dave777
verified
rating uzivatele
14. 3. 2008 14:54:25
Dobry den. Videl jsem, ze se dirname(__FILE__) casto pouziva pri vkladani
souboru na stranku. Bohuzel i po precteni manualu na php.net tomu moc nerozumim.
Pomohl by mi prosim nekdo?
Jak jeste dale osetrit vkladani?
Predem mockrat dekuji.
14. 3. 2008 14:54:25
https://webtrh.cz/diskuse/include#reply51927
Ivan L.
verified
rating uzivatele
14. 3. 2008 15:37:29
Funkce dirname() přijímá jako parametr cestu k souboru (včetně názvu souboru) a vrací z této cesty adresářovou strukturu
__FILE__ je předdefinovaná proměnná obsahující absolutní cestu k souboru včetně názvu souboru, ve kterém je tato proměnná použitá. Budeš-li mít například hlavní soubor do kterého se budou nořit hlouběji a hlouběji další includované soubory, tak bude-li tento zápis použit v tom nejposlednějším includovaném souboru, vrátí cestu k němu a ne k tomu původnímu hlavnímu souboru.
Zápis dirname(__FILE__) tedy vrací absolutní cestu (pouze adresářovou strukturu) k souboru ve kterém je tento zápis použit.
Snad jsem to nezmotal a je to pochopitelné. Co přesně myslíš pojmem "ošetřit"?
14. 3. 2008 15:37:29
https://webtrh.cz/diskuse/include#reply51926
dave777
verified
rating uzivatele
14. 3. 2008 17:54:14
Diky. No, trochu v tom mam gulas:). Ukazal bys mi to prosim na prikladu? Byl bych ti moc vdecny.
Myslim ti, jak nejelepe zabezpecit vkladani souboru pri metode GET.
14. 3. 2008 17:54:14
https://webtrh.cz/diskuse/include#reply51925
Ivan L.
verified
rating uzivatele
14. 3. 2008 18:28:16
Jestli už skutečně musíš includovat různé soubory na základě nějakého requestu (osobně si myslím, že to není dobrý návrh aplikace), tak musíš do includování ošetřit podmínkama.
$incFile = $_GET;
$cestaKSouboru = $_SERVER.'include/';
if ($incFile == 'soubor1' ){
$incFile = 'soubor1.php';
}elseif ($incFile == 'soubor2' ){
$incFile = 'soubor2.php';
}else{
$incFile = 'default.php';
}
include($cestaKSouboru.$incFile);
Kdyby to byl úplně chybný návrh aplikace v tom smyslu, že názvy includovaných souborů se dynamicky mění, tak by se to dalo ošetřit pomocí funkce file_exists();
$incFile = $_GET;
$cestaKSouboru = $_SERVER.'include/';
if (file_exists($cestaKSouboru.$incFile)){
include($cestaKSouboru.$incFile);
}else{
include($cestaKSouboru.'default.php');
}
Každopádně si myslím, že je to už z principu špatně a nenapadá mě důvod proč to takto používat.
Webtrh asi není úplně to správný místo kde se učit úplné začátky PHP. Spíš si kup pořádnou knihu a choď na specializovaná PHP fóra.
14. 3. 2008 18:28:16
https://webtrh.cz/diskuse/include#reply51924
dave777
verified
rating uzivatele
14. 3. 2008 18:51:21
A jak se to resi prosim spravne?
14. 3. 2008 18:51:21
https://webtrh.cz/diskuse/include#reply51923
Ivan L.
verified
rating uzivatele
14. 3. 2008 18:56:54
Musel bys nejdřív napsat co chceš vlastně řešit. Co má vůbec dělat ta stránka do které chceš takto includovat soubory.
14. 3. 2008 18:56:54
https://webtrh.cz/diskuse/include#reply51922
dave777
verified
rating uzivatele
14. 3. 2008 19:05:33
Nene, myslim, jak se to dela jinak nez pres GET, treba jak to resis ty?
14. 3. 2008 19:05:33
https://webtrh.cz/diskuse/include#reply51921
Fuck You
verified
rating uzivatele
(1 hodnocení)
14. 3. 2008 19:40:25
Napsal dave777;41681
Nene, myslim, jak se to dela jinak nez pres GET, treba jak to resis ty?
Různě.
14. 3. 2008 19:40:25
https://webtrh.cz/diskuse/include#reply51920
Ivan L.
verified
rating uzivatele
14. 3. 2008 20:19:51
Napsal dave777;41681
Nene, myslim, jak se to dela jinak nez pres GET, treba jak to resis ty?
Napiš konkrétní situaci.
14. 3. 2008 20:19:51
https://webtrh.cz/diskuse/include#reply51919
Dr.Diesel
verified
rating uzivatele
14. 3. 2008 22:45:23
Napsal dave777;41611
Dobry den. Videl jsem, ze se dirname(__FILE__) casto pouziva pri vkladani
souboru na stranku. Bohuzel i po precteni manualu na php.net tomu moc nerozumim.
Pomohl by mi prosim nekdo?
Jak jeste dale osetrit vkladani?
Predem mockrat dekuji.
Zpet k dotazu:
dirname(__FILE__) ti neda nic jinyho nez lokalni cestu k souboru bez jeho nazvu (myslim ze i bez konecnyho lomitka).
Ke vkladani to pouzit nelze, musis k tomu pridat nazev souboru, ktery musis podle neceho zvolit. Tady prichazime k dalsi casti dotazu, include se ve vetsine pripadu voli podle GET parametru ($_GET, $_GET, ...), ale je to dost archaicka metoda, dneska se vyuziva komplexnejsiho volani na nejakem objektu (controller), ktery stranku (view) "posklada" (pripadne za pouziti dat = model ----> MVC, viz google a spol) a posle jako celek, prosty include s dale vlozenym skriptem vracejicim nejake (X)HTML je dost out :smoking:
Co se tyce osetreni, asi spis zabranit tomu, aby ti include cestoval po serveru ( include("../../../../../../neco_kdesi_mimo.cokoliv") - casto te to ale moc jinam nepusti pomoci zapnuteho safe_mode a aktivniho open_basedir ).
Asi sem se moc rozepsal... :rolleyes:
14. 3. 2008 22:45:23
https://webtrh.cz/diskuse/include#reply51918
Pro odpověď se přihlašte.
Přihlásit