Autor | Zpráva | ||
---|---|---|---|
happy Profil |
#1 · Zasláno: 31. 5. 2010, 21:42:12
Ahoj
dělal jsem dnes par úprav v pluginu ve wordpress a čiste náhodou jsem zjistil že prostě nemůžu pomocí require apod vzít soubor mimo adresář samotného pluginu. .htaccess tam neni. jak lze něco takového udělat? |
||
ninja Profil |
#2 · Zasláno: 31. 5. 2010, 22:58:30
Jak nemůžete. Máte (respektive skript) právo daný soubor číst?
|
||
happy Profil |
#3 · Zasláno: 31. 5. 2010, 23:40:57
ninja:
no právě že práva mám všechny - mám to puštěné na localhostu a jinde stím problem není a require funguje dle očekávání. ale wordpress mě prostě mimo adresář daného pluginu nepustí. prvni jsem myslel, že je to omezené pomocí htaccess ale ten tam vubec neni. nikdy jsem neslyšel o tom že to jde nějak omezovat pomocí php. kdyz zkusim něco jako v pluginu jít mimo adresář, tak to dopadne jako wp-content/plugins/nazev-pluginu/../ - prostě misto toho aby to šlo zpět tak to cestu přidá. |
||
ninja Profil |
#4 · Zasláno: 1. 6. 2010, 10:51:01
happy: Funkce fopen nebo file vám soubor otevřou? Jak přesně vypadá volání souboru (cesta k němu)?
|
||
nightfish Profil |
#5 · Zasláno: 1. 6. 2010, 10:59:11
happy:
„kdyz zkusim něco jako v pluginu jít mimo adresář, tak to dopadne jako wp-content/plugins/nazev-pluginu/../ - prostě misto toho aby to šlo zpět tak to cestu přidá.“ nepomohlo by použití dirname(__FILE__).'/../' |
||
happy Profil |
#6 · Zasláno: 1. 6. 2010, 13:18:23 · Upravil/a: happy
nightfish:
Ano tohle funguje bez problémů. Včera už mě ani nějak nenapadlo tohle zkusit. Díky. ninja: include '../hello.php'; include '/../hello.php'; include __DIR__.'/../hello.php'; stejně mi nějak nedochází proč se nemůžu odpíchnout relativně. zvlášt když v rámci adresáře - include 'hello.php' include 'aa/hello.php' |
||
nightfish Profil |
#7 · Zasláno: 1. 6. 2010, 13:21:42
happy:
„include '../hello.php';“ tohle by mělo fungovat „include '/../hello.php';“ tohle fungovat nemůže - počáteční lomítko ukazuje do kořene souborového systému „include 'hello.php'“ „include 'aa/hello.php'“ pozor, tohle nebude fungovat, pokud v include_path nebude uveden aktuální adresář (tedy jedna tečka) |
||
happy Profil |
#8 · Zasláno: 1. 6. 2010, 14:01:44 · Upravil/a: happy
„include '../hello.php';“
tohle by mělo fungovat mělo ale nejde. nevím proč. „include '/../hello.php';“ tohle fungovat nemůže - počáteční lomítko ukazuje do kořene souborového systému omlouvam jse vypadla mi tečka include './../hello.php'; „include 'hello.php'“ „include 'aa/hello.php'“ pozor, tohle nebude fungovat, pokud v include_path nebude uveden aktuální adresář (tedy jedna tečka) tohle normálně funguje. pokud vím není nutné psát include './aa/hello.php |
||
Časová prodleva: 14 let
|
0