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

PHP Multiupload files

0 głosów
726 wizyt
pytanie zadane 12 marca 2017 w PHP przez nielotweb Bywalec (2,240 p.)

Mam skrypt wieloplikowego uploadu plików na serwer i bazy danych. Problem mam taki że np. zauplodowałem 3 pliki, mają one nazwę np. 1.png,2.png,3.png i uploadują one się na serwer i wpisują do bazy danych tylko problem w tym że każdy obrazek wpisuje się osobno do każdego rekordu. A ja chcę żeby te wszystkie pliki czy obrazki były w jednym polu, rekordzie wpisane po przecinku.. 

Jest tak:

A chcę tak:

Cały kod:


//jeżeli zatwierdzono formularz
  if ( isset($_POST['submit']) && !empty($_POST['submit']) && !empty($_FILES['files']['name'][0]) ) {

        //zmienne formularza
        $h2 = $_POST['name-header'];
        $text = $_POST['text'];
        $files = $_FILES['files'];

        $uploaded = array();
        $failed = array();

        $allowed = array('jpg', 'png', 'svg', 'psd');

        foreach( $files['name'] as $position => $file_name ) {

            $file_tmp = $files['tmp_name'][$position];
            $file_size = $files['size'][$position];
            $file_error = $files['error'][$position];

            $file_ext = explode('.', $file_name);
            $file_ext = strtolower(end($file_ext));

            //jeżeli rozszerzenie pliku jest zgodne
            if( in_array($file_ext, $allowed) ) {

                //jeżeli plik nie ma żadnych błędów
                if ( $file_error === 0 ) {

                    //jeżeli plik jest mniejszy niż 10mb
                    if ( $file_size <= 10485760 ) {

                        $file_new_name = uniqid('', true) . '.' . $file_ext;
                        $file_destination = 'images/' . $file_new_name;

                        if ( move_uploaded_file($file_tmp, $file_destination) ) {

                            //select old name image from databse
                            $query = $dbh->prepare("INSERT INTO articles (photos, title, textads) VALUES (:photos, :title, :textads)");
                            $query->bindParam(':photos', $file_destination);
                            $query->bindParam(':title', $h2);
                            $query->bindParam(':textads', $text);
                            $query->execute();

                            echo $file_destination . ',';

                        } else {

                          $failed_destination = 'Nie udało się przenieść pliku!';
                          echo $failed_destination;

                        }

                    } else {

                      $failed_size = 'Plik jest za duży!';
                      echo $failed_size;

                    }

                } else {

                  $failed_size = 'Wystąpił error, przepraszamy!';
                  echo $failed_size;

                }

            } else {

                //informacja developerska
                $failed[$position] = "[{$file_name}] file extension '{$file_ext}' is not allowed";

                //zmienna z błędem o złym rozszerzeniu
                $failed_ext = 'Rozszerzenie pliku jest nieprawidłowe!';
                echo $failed_ext;

            }

        }

        if ( !empty($failed) ) {

          echo '<br> Informacja developerska: <br>';
          print_r($failed);

        }

  }

Z góry dziękuję!

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 165 wizyt
pytanie zadane 1 listopada 2017 w PHP przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
2 odpowiedzi 509 wizyt
pytanie zadane 13 grudnia 2016 w PHP przez ThePatrykOOO Dyskutant (8,400 p.)
+1 głos
1 odpowiedź 655 wizyt
pytanie zadane 30 sierpnia 2021 w PHP przez poczatkujacy-prog Początkujący (410 p.)

93,607 zapytań

142,529 odpowiedzi

322,999 komentarzy

63,097 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

Kursy INF.02 i INF.03
...