Gollem::getVFSPath PHP Method

getVFSPath() public static method

This pair is used for the input to many VFS library functions.
public static getVFSPath ( string $fullpath ) : array
$fullpath string Path to be split.
return array Array of ($path, $name)
    public static function getVFSPath($fullpath)
    {
        // Convert the path into VFS's ($path, $name) convention
        $i = strrpos($fullpath, '/');
        if ($i !== false) {
            $path = substr($fullpath, 0, $i);
            $name = substr($fullpath, $i + 1);
        } else {
            $name = $fullpath;
            $path = '';
        }
        return array($name, $path);
    }

Usage Example

Example #1
0
 /**
  * Removes a file or folder from the VFS
  *
  * @param string $path  Path of file or folder to delete
  */
 public function path_delete($path)
 {
     // Clean off the irrelevant portions of the path
     $path = Gollem::stripAPIPath($path);
     if ($path == '') {
         // We are at the root of gollem.  Any writes at this level are
         // disallowed.
         throw new Gollem_Exception(_("The application folder can not be deleted."));
     }
     $backend_key = $this->_getBackend($path);
     throw new Gollem_Exception('Permssion checks not implemented yet.');
     // Trim off the backend_key (and '/') to get the VFS relative path
     $fullpath = substr($path, strlen($backend_key) + 1);
     // Get the VFS-standard $name,$path pair
     list($name, $path) = Gollem::getVFSPath($fullpath);
     // Apparently Gollem::verifyDir() (called by deleteF* next) needs to
     // see a path with a leading '/'
     $path = $backends[$backend_key]['root'] . $path;
     $GLOBALS['injector']->getInstance('Gollem_Vfs')->isFolder($path, $name) ? Gollem::deleteFolder($path, $name) : Gollem::deleteFile($path, $name);
 }