	public function mkfile($dst, $name) {
		if ($this->commandDisabled('mkfile')) {
			return $this->setError(elFinder::ERROR_PERM_DENIED);
		}
		
		if (!$this->nameAccepted($name)) {
			return $this->setError(elFinder::ERROR_INVALID_NAME);
		}
		
		$mimeByName = elFinderVolumeDriver::mimetypeInternalDetect($name);
		if ($mimeByName && $mimeByName !== 'unknown' && !$this->allowPutMime($mimeByName)) {
			return $this->setError(elFinder::ERROR_UPLOAD_FILE_MIME, $name);
		}
		
		if (($dir = $this->dir($dst)) == false) {
			return $this->setError(elFinder::ERROR_TRGDIR_NOT_FOUND, '#'.$dst);
		}
		
		$path = $this->decode($dst);
		
		if (!$dir['write'] || !$this->allowCreate($path, $name, false)) {
			return $this->setError(elFinder::ERROR_PERM_DENIED);
		}
		
		if ($this->stat($this->joinPathCE($path, $name))) {
			return $this->setError(elFinder::ERROR_EXISTS, $name);
		}
		
		$this->clearcache();
		return ($path = $this->convEncOut($this->_mkfile($this->convEncIn($path), $this->convEncIn($name)))) ? $this->stat($path) : false;
	}
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.