• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Image file upload - unikalne nazwy plików

Object Storage Arubacloud
0 głosów
178 wizyt
pytanie zadane 29 marca 2021 w PHP przez dee Początkujący (360 p.)

Witam. Potrzebuje zaimplementować na stronę skrypt znaleziony w Internecie 
https://www.positronx.io/php-multiple-files-images-upload-in-mysql-database/

<?php 
    // Database
    include 'config/database.php'; 

    if(isset($_POST['submit'])){
        
        $uploadsDir = "uploads/";
        $allowedFileType = array('jpg','png','jpeg');
        
        // Velidate if files exist
        if (!empty(array_filter($_FILES['fileUpload']['name']))) {
            
            // Loop through file items
            foreach($_FILES['fileUpload']['name'] as $id=>$val){
                // Get files upload path
                $fileName        = $_FILES['fileUpload']['name'][$id];
                $tempLocation    = $_FILES['fileUpload']['tmp_name'][$id];
                $targetFilePath  = $uploadsDir . $fileName;
                $fileType        = strtolower(pathinfo($targetFilePath, PATHINFO_EXTENSION));
                $uploadDate      = date('Y-m-d H:i:s');
                $uploadOk = 1;

                if(in_array($fileType, $allowedFileType)){
                        if(move_uploaded_file($tempLocation, $targetFilePath)){
                            $sqlVal = "('".$fileName."', '".$uploadDate."')";
                        } else {
                            $response = array(
                                "status" => "alert-danger",
                                "message" => "File coud not be uploaded."
                            );
                        }
                    
                } else {
                    $response = array(
                        "status" => "alert-danger",
                        "message" => "Only .jpg, .jpeg and .png file formats allowed."
                    );
                }
                // Add into MySQL database
                if(!empty($sqlVal)) {
                    $insert = $conn->query("INSERT INTO user (images, date_time) VALUES $sqlVal");
                    if($insert) {
                        $response = array(
                            "status" => "alert-success",
                            "message" => "Files successfully uploaded."
                        );
                    } else {
                        $response = array(
                            "status" => "alert-danger",
                            "message" => "Files coudn't be uploaded due to database error."
                        );
                    }
                }
            }

        } else {
            // Error
            $response = array(
                "status" => "alert-danger",
                "message" => "Please select a file to upload."
            );
        }
    } 
?>


Skrypt działa ale chciałbym żeby nazwy plików oraz nazwy zapisywane w bazie były unikalne, Coś tam próbowałem zmieniać ale mój poziom wiedzy na temat php nie jest wystarczający żeby to ogarnąć 

2 odpowiedzi

+2 głosów
odpowiedź 29 marca 2021 przez Michał Kazula Pasjonat (19,540 p.)
Daj w nazwie pliku po prostu ' time() . "_" . $id '. Zwróci Ci timestamp i dopiszesz id. Albo zawsze możesz zrobić md5, crypt lub hash :-) Z nawy pliku. Nie powinno być powtórzeń.
komentarz 29 marca 2021 przez dee Początkujący (360 p.)
Dziękuje za odpowiedz. Probowałem tak robić ale po dodaniu zmian przestaje zapisywać informacji do bazy oran nie uploaduje pliku
+1 głos
odpowiedź 29 marca 2021 przez laiklynn.amaia Obywatel (1,060 p.)
Proponuję po prostu zastosować UUID i finito.

Podobne pytania

0 głosów
0 odpowiedzi 213 wizyt
pytanie zadane 11 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
0 odpowiedzi 212 wizyt
pytanie zadane 27 listopada 2017 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
0 odpowiedzi 245 wizyt
pytanie zadane 1 listopada 2017 w PHP przez niezalogowany

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...