fileTmpPath = $file['tmp_name']; $this->fileName = $file['name']; $this->fileSize = $file['size']; $this->fileType = $file['type']; $this->fileNameCmps = explode('.', $this->fileName); $this->fileExtension = strtolower(end($this->fileNameCmps)); $this->allowedFileExtensions = $extensions; } // public function setNewFileName(): void // { // $this->newFileName = md5(time() . $this->fileName) . '.' . $this->fileExtension; // } // public function checkExtension(): bool // { // if (in_array($this->fileExtension, $this->allowedFileExtensions)) { // return true; // } // return false; // } public function upload($uploadDir = "/resources/upload/"): bool { $newFileName = md5(time() . $this->fileName) . '.' . $this->fileExtension; if (in_array($this->fileExtension, $this->allowedFileExtensions)) { $this->uploadDir = $uploadDir . mb_substr($newFileName, 0, 2) . '/' . mb_substr($newFileName, 2, 2) . '/'; mkdir(ROOT_DIR . $this->uploadDir, 0777, true); $uploadFileDir = ROOT_DIR . $this->uploadDir; $this->destPath = $uploadFileDir . $newFileName; $this->uploadFile = $this->uploadDir . $newFileName; move_uploaded_file($this->fileTmpPath, $this->destPath); return true; } else { return false; } } public function getFullUploadedPath(): string { return $this->destPath; } public function getUploadDir(): string { return $this->uploadDir; } public function getUploadFile(): string { return $this->uploadFile; } }