From 78e8a40e1aa26a3c1d6334f5e3818f038fb012c6 Mon Sep 17 00:00:00 2001 From: Kenneth Ezekiel <88850771+KenEzekiel@users.noreply.github.com> Date: Wed, 15 Nov 2023 17:29:40 +0700 Subject: [PATCH] fix: auto naming file --- src/controllers/CreateFilmController.php | 26 +++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/controllers/CreateFilmController.php b/src/controllers/CreateFilmController.php index 9a2ac8e..4d49a23 100644 --- a/src/controllers/CreateFilmController.php +++ b/src/controllers/CreateFilmController.php @@ -36,6 +36,28 @@ class CreateFilmController extends BaseController return false; } + private function get_image_name($filename) + { + $extension = pathinfo($filename, PATHINFO_EXTENSION); + $image_name = "image_"; + $i = 0; + while (file_exists($image_name . $i)) { + $i = $i + 1; + } + return $image_name . $i . "." . $extension; + } + + private function get_trailer_name($filename) + { + $extension = pathinfo($filename, PATHINFO_EXTENSION); + $trailer_name = "trailer_"; + $i = 0; + while (file_exists($trailer_name . $i)) { + $i = $i + 1; + } + return $trailer_name . $i . "." . $extension; + } + protected function get($urlParams) { if (!isset($_SESSION['role']) or $_SESSION['role'] != 'admin') { @@ -66,6 +88,7 @@ class CreateFilmController extends BaseController if ($_FILES['image-path']['error'] == UPLOAD_ERR_OK) { $image_tmp = $_FILES['image-path']['tmp_name']; $image_name = $_FILES['image-path']['name']; + $image_name = $this->get_image_name($image_name); move_uploaded_file($image_tmp, __DIR__ . "/../../public/files/img/" . $image_name); $image_path = "/files/img/" . $image_name; @@ -78,6 +101,7 @@ class CreateFilmController extends BaseController if ($_FILES['trailer-path']['error'] == UPLOAD_ERR_OK) { $trailer_tmp = $_FILES['trailer-path']['tmp_name']; $trailer_name = $_FILES['trailer-path']['name']; + $trailer_name = $this->get_trailer_name($trailer_name); move_uploaded_file($trailer_tmp, __DIR__ . "/../../public/files/trailer/" . $trailer_name); $trailer_path = "files/trailer/" . $trailer_name; @@ -100,7 +124,7 @@ class CreateFilmController extends BaseController parent::redirect("/", $urlParams); } catch (Exception $e) { $msg = $e->getMessage(); - parent::render(["errorMsg" => $msg], "create_film", "layouts/base"); + parent::render(["errorMsg" => $msg], "create-film", "layouts/base"); } } } -- GitLab