Exemplo n.º 1
0
 /**
  * 	method:	documentRoot
  *
  * 	todo: write documentation
  */
 public static function documentRoot($docroot = NULL)
 {
     if ($docroot && is_string($docroot) && strlen($docroot)) {
         $docroot = Amslib_String::reduceSlashes($docroot);
     } else {
         if (isset($_SERVER["CONTEXT_DOCUMENT_ROOT"])) {
             $docroot = $_SERVER["CONTEXT_DOCUMENT_ROOT"];
             if (isset($_SERVER["CONTEXT_PREFIX"])) {
                 $docroot = Amslib_String::rchop($docroot, $_SERVER["CONTEXT_PREFIX"]);
             }
         } else {
             if (isset($_SERVER["DOCUMENT_ROOT"])) {
                 $docroot = $_SERVER["DOCUMENT_ROOT"];
             } else {
                 Amslib_Debug::log("Not sure how to obtain the docroot on this platform", $docroot, $_SERVER);
                 // NOTE: ADD DEBUGGING CODE HERE AND UPDATE WHEN YOU FIND A SCENARIO WHICH WORKS
                 //die(__METHOD__.Amslib_Debug::vdump(array("docroot"=>$docroot,"server"=>$_SERVER)));
                 return false;
             }
         }
     }
     self::$docroot = $docroot;
     self::$docroot = realpath(self::$docroot);
     self::$docroot = self::win2unix(self::$docroot);
     return self::$docroot;
 }