function extractDirectory($sFile, $bObject = true) { $sFile = substr($sFile, strlen(getcwd() . MAIN_DIRECTORY) + 1); if (\Sylma::isWindows()) { $sFile = str_replace('\\', '/', $sFile); } $sResult = substr($sFile, 0, strlen($sFile) - strlen(strrchr($sFile, '/'))); if ($bObject) { // object if (!($fs = \Sylma::getManager('fs'))) { Sylma::throwException(sprintf('File controler not yet loaded. Cannot extract path %s', $sFile)); } //echo $fs->getDirectory($sResult); return $fs->getDirectory($sResult); // return \Controler::getDirectory($sResult); } else { // string return $sResult; } }
/** * Retrieve the directory from a file path, return an object by default * * @param type $sFile A file path (get with __FILE__)) * @param type $bObject If set to TRUE, will return an object, else a string * * @return fs\directory|string Result depends on @param $bObject */ public function extractDirectory($sFile, $bObject = true) { $sFile = substr($sFile, strlen(getcwd() . \Sylma::ROOT) + 1); if (\Sylma::isWindows()) { $sFile = str_replace('\\', '/', $sFile); } $sResult = substr($sFile, 0, strlen($sFile) - strlen(strrchr($sFile, '/'))); if ($bObject) { return $this->getDirectory($sResult); } else { return $sResult; } }