Autor Zpráva
happy
Profil
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
Jak nemůžete. Máte (respektive skript) právo daný soubor číst?
happy
Profil
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
happy: Funkce fopen nebo file vám soubor otevřou? Jak přesně vypadá volání souboru (cesta k němu)?
nightfish
Profil
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__).'/../'
v tom souboru pluginu?
happy
Profil
nightfish:
Ano tohle funguje bez problémů. Včera už mě ani nějak nenapadlo tohle zkusit. Díky.

ninja:
include '../hello.php';
nebo
include '/../hello.php';
- nefunguje
include __DIR__.'/../hello.php';
- funguje

stejně mi nějak nedochází proč se nemůžu odpíchnout relativně. zvlášt když v rámci adresáře -
include 'hello.php'
nebo podadresáře -
include 'aa/hello.php'
to funguje bez problémů.
nightfish
Profil
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
„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

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