public function linkTo($destination) {
		$target = new FileDescriptor($destination);
		$targetDir = new Directory($target->getDirname());
		$targetDir->make();

		$ok = false;
		if ($target->isLink()) {
			if (!$target->getLinkTarget()->equals($this->pathname)) {
				$target->delete();
			} else {
				$ok = true;
			}
		}

		if (!$ok && @symlink($this->pathname, $target->getPathname()) !== true) {
			$report = error_get_last();
			if (is_array($report) && DIRECTORY_SEPARATOR === '\\' && strpos($report['message'], 'error code(1314)') !== false) {
				throw new FileException('Unable to create symlink due to error code 1314: \'A required privilege is not held by the client\'. Do you have the required Administrator-rights?');
			}
			throw new FileException(sprintf('Failed to create symbolic link from %s to %s', $this->pathname, $targetDir));
		}
	}
public function linkTo($destination) {
		$target = new FileDescriptor($destination);
		$targetDir = new Directory($target->getDirname());
		$targetDir->make();

		$ok = false;
		if ($target->isLink()) {
			if (!$target->getLinkTarget()->equals($this->pathname)) {
				$target->delete();
			} else {
				$ok = true;
			}
		}

		if (!$ok && @symlink($this->pathname, $target->getPathname()) !== true) {
			$report = error_get_last();
			if (is_array($report) && DIRECTORY_SEPARATOR === '\\' && strpos($report['message'], 'error code(1314)') !== false) {
				throw new FileException('Unable to create symlink due to error code 1314: \'A required privilege is not held by the client\'. Do you have the required Administrator-rights?');
			}
			throw new FileException(sprintf('Failed to create symbolic link from %s to %s', $this->pathname, $targetDir));
		}
	}
public function linkTo ( $ destination ) { $ target = new FileDescriptor ( $ destination ) ; $ targetDir = new Directory ( $ target -> getDirname ( ) ) ; $ targetDir -> make ( ) ; $ ok = false ; if ( $ target -> isLink ( ) ) { if ( ! $ target -> getLinkTarget ( ) -> equals ( $ this -> pathname ) ) { $ target -> delete ( ) ; } else { $ ok = true ; } } if ( ! $ ok && @ symlink ( $ this -> pathname , $ target -> getPathname ( ) ) !== true ) { $ report = error_get_last ( ) ; if ( is_array ( $ report ) && DIRECTORY_SEPARATOR === '\\' && strpos ( $ report [ 'message' ] , 'error code(1314)' ) !== false ) { throw new FileException ( 'Unable to create symlink due to error code 1314: \'A required privilege is not held by the client\'. Do you have the required Administrator-rights?' ) ; } throw new FileException ( sprintf ( 'Failed to create symbolic link from %s to %s' , $ this -> pathname , $ targetDir ) ) ; } }
Creates a symlink to the given destination

@param string|Path $destination
Creates a symlink to the given destination