Przechowywanie plików przesłanych przez użytkownika w bazie danych MySQL

Czasami przydatne jest zbieranie danych od użytkowników witryny i przechowywanie tych informacji w MySQL Baza danych. Widzieliśmy już, że możesz wypełnić bazę danych przy użyciu PHP, teraz dodamy praktyczność pozwalającą na dodawanie danych za pomocą przyjaznego dla użytkownika formularza internetowego.

Następnie musisz utworzyć process.php, stronę, na którą nasz formularz wysyła swoje dane. Oto przykład, jak zebrać te dane, aby opublikować je w bazie danych MySQL:

Oczywiście, zanim spróbujemy, musimy upewnić się, że tabela faktycznie istnieje. Wykonanie tego kodu powinno utworzyć tabelę, której można używać z naszymi przykładowymi plikami:

Teraz wiesz, jak przechowywać dane użytkownika w MySQL, więc przejdźmy o krok dalej i dowiedzmy się, jak przesłać plik do przechowywania. Najpierw stwórzmy naszą przykładową bazę danych:

Pierwszą rzeczą, którą powinieneś zauważyć, jest pole o nazwie ID to jest ustawione na AUTO_INCREMENT. Co to typ danych oznacza, że ​​policzy, aby przypisać każdemu plikowi unikalny identyfikator pliku, zaczynając od 1 i przechodząc do 9999 (ponieważ określiliśmy 4 cyfry). Prawdopodobnie zauważysz również, że nasze pole danych jest nazywane

instagram viewer
LONGBLOB. Istnieje wiele rodzajów BLOB, o których wspominaliśmy wcześniej. TINYBLOB, BLOB, MEDIUMBLOB i LONGBLOB są twoimi opcjami, ale my ustawiliśmy nasz na LONGBLOB, aby zezwolić na możliwie największe pliki.

Następnie utworzymy formularz, aby umożliwić użytkownikowi przesłanie jej pliku. To tylko prosta forma, oczywiście, możesz ją ubrać, jeśli chcesz:

Następnie musimy utworzyć upload.php, który zabierze plik użytkowników i zapisze go w naszej bazie danych. Poniżej znajduje się przykładowe kodowanie dla upload.php.

Następnie używa ADDSLASHES funkcjonować. W razie potrzeby dodaje się odwrotne ukośniki do nazwy pliku, abyśmy nie otrzymywali błędu podczas zapytania do bazy danych. Na przykład, jeśli mamy plik Billy'sFile.gif, skonwertuje to na plik Billy'sFile.gif. FOPEN otwiera plik i FREAD jest plikiem binarnym bezpiecznym odczytywanym tak, że ADDSLASHES jest stosowany do danych w pliku, jeśli to konieczne.

Następnie dodajemy wszystkie informacje zebrane przez nasz formularz do naszej bazy danych. Zauważysz, że najpierw wymieniliśmy pola, a wartości drugie, więc nie próbujemy przypadkowo wstawić danych do naszego pierwszego pola (pole automatycznego przypisywania identyfikatora).

Nauczyliśmy się już odzyskiwać zwykłe dane z naszej bazy danych MySQL. Podobnie, przechowywanie plików w bazie danych MySQL nie byłoby bardzo praktyczne, gdyby nie było sposobu ich odzyskania. Nauczymy się tego robić, przypisując każdemu plikowi adres URL na podstawie jego numeru ID. Jeśli sobie przypomnisz, kiedy przesłaliśmy pliki, automatycznie przypisaliśmy każdemu z nich numer identyfikacyjny. Wykorzystamy to tutaj, gdy oddzwonimy do plików. Zapisz ten kod jako download.php

Teraz, aby pobrać nasz plik, kierujemy naszą przeglądarkę do: http://www.yoursite.com/download.php? id = 2 (zamień 2 na dowolny identyfikator pliku, który chcesz pobrać / wyświetlić)

Ten kod jest podstawą do robienia wielu rzeczy. Dzięki temu możesz dodać zapytanie do bazy danych, które zawierałoby listę plików i umieściło je w rozwijanym menu, aby ludzie mogli je wybrać. Możesz też ustawić identyfikator jako losowo utworzoną liczbę, aby za każdym razem osoba odwiedzała losowo inną grafikę z bazy danych. Możliwości są nieskończone.

Podobnie jak nasz poprzedni kod, który pobierał pliki, ten skrypt umożliwia usuwanie plików po prostu przez wpisanie ich adresu URL: http://yoursite.com/remove.php? id = 2 (zamień 2 na identyfikator, który chcesz usunąć.) Z oczywistych powodów chcesz bądź ostrożny z tym kodem. Jest to oczywiście demonstracja, kiedy faktycznie budujemy aplikacje, będziemy chcieli to zabezpieczyć zapytaj użytkownika, czy jest pewien, że chce go usunąć, a może tylko zezwól na usunięcie plików osobom z hasłem. Ten prosty kod jest podstawą, na której będziemy budować te wszystkie rzeczy.

instagram story viewer