Autor Zpráva
Casper
Profil
Dobrý den,
vytvářím funkci obsahující část pro vytvoření cesty složek ze zadaného parametru. Z jistých důvodů nemohu použít obyčejný mkdir, tak jsem sáhnul po možnosti ftp_mkdir. Ten ovšem složky vytváří rovnou z root (při zadání jedné složky [např. "slozka"] vytvoří složku jenž je vlastně subdoménou). Já bych ovšem potřeboval vytvářet nějakým způsobem relativně od souboru, kde probíhá script. Napadlo mě řešení pomocí $_SERVER[] kde bych si vytáhl v jaké subdoméně operuji a následně cestu k souboru kde probíhá script a takto získanou cestu použil jako parametr u ftp_mkdir. Zadáním celé takovéto cesty funguje, ovšem stále začínám v rootu, navíc mi toto řešení nepřijde zrovna vhodné a elegantní.
Lze tento problém řešit jiným způsobem ?

Předem děkuji za jakékoli návrhy...
Alphard
Profil
FTP funkce předpokládájí cizí server, asi je nedonutíte brát cesty relativně. Ale pracovat s nějakým $baseDir snad není takový problém. Cestu by mělo jít získat pomocí dirname(__FILE__). Např.
define('WWW_DIR', dirname(__FILE__)."/document_root");
Casper
Profil
Popravdě neumím moc pracovat s dirname(__FILE__), každopádně i tak si myslím, že by vznikl problém, protože jak píšu nazačátku, jde o funkci, tudíž ji do hlavního souboru includuji a vaše řešení vypisuje cestu přímo k souboru jenž includuji, což není zrovna to co potřebuji. Navíc vaše řešení vypisuje cestu skutečně z root (já se špatně vyjádřil, on ftp_mkdir vytváří od /home/www/webovaadresa.cz/). Lze vaším způsobem řešit tyto problémy?
Alphard
Profil
Casper:
Nic moc elegantního mě nenapadá. Cestu do potřebného adresáře bude asi potřeba nějak získat, ať již s využítím třeba realpath() nebo parsováním řetězce (ořezávání, skládání).
Casper
Profil
Právě tak jsem to řešil, nevadí, díky...

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