Autor Zpráva
Silver8000
Profil
Ahoj mam takovej dotaz ohledne definovani toho kde je aplikace instalovana.

Tohle mam v hlavnim souboru kde se detekuje kde je aplikace instalovana.
<?php
define('WebPath',str_replace(basename($_SERVER['PHP_SELF']),'',$_SERVER['PHP_SELF']));
define('WebRoot',$_SERVER['DOCUMENT_ROOT'].WebPath);
?>
Ale hacek je v tom ze kdyz mam nejaky externi soubor ktery se nenachazi ve WebRoot ale nachazi se v dalsi podslozce tak cesta WebRoot nesouhlasi protoze bude pouzita nova cesta WebRoot

priklad :
normalni chovani v index.php ktery je polozeny v nasledujici ceste
WebRoot = C:/xampp/htdocs/

spatne chovani v run_skript.php ktery se nachazi v nasledujici ceste
WebRoot = C:/xampp/htdocs/app/service/

Jednoduse receno potrebuji dosahnout toho aby obe definice meli stejnou cestu.

Dik za rady a doufam ze to neni moc zmateny.
SpatnaKlavesnice
Profil *
Tak jedine co me napada je prochazet slozky smerem nahoru a pokazde zjistovat, jestli se tam nachazi index.php

$slozka = str_replace(basename($_SERVER['PHP_SELF']),'',$_SERVER['PHP_SELF']);
while(!file_exists($slozka."index.php")) $slozka .= "../";
Silver8000
Profil
To me prave taky napadlo ale misto hledani index.php by se hledalo root.conf v hlavnim adresari za pouziti $_SERVER['DOCUMENT_ROOT'] pro pripad ze by tam bylo vice souboru s nazvem index.php jenomze takove hledani by mohlo byt na hodne dlouho kdyz by si aplikaci uzivatel nainstaloval nekde v nejakym pod adresari a tech pod adresaru by tam mel fakt velkou kupu.

Jeste me napadla takova vec ,, jestly by slo vyhledat ve WebRoot slozku "app" a tak bych ziskal stejnou hodnotu.
Timto a nebo podobnym spusobem :

//pricemz "kde = WebRoot"
//$ereg = '-/app/-';
preg_match_all($ereg,$kde,$vysledek);
print_r($vysledek);
//vysledek by se mel rovnat prvni nalezene hodnote
//a pak za pouziti
file_exists();
//potvrdit pravdivost o existenci
tohle me pouze napadlo ale jeste jsem to nezkousel..
Pepiik
Profil
define('WebRoot',dirname(__FILE__));

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: