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

przycisk sieci danych i strzałka myszy na ekranie komputera

Daniel Sambraus/Getty Images





01 z 07

Tworzenie formularza

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

Pierwszą rzeczą jaką zrobimy jest stworzenie strony z formularzem. Na potrzeby naszej demonstracji zrobimy bardzo prosty:



|_+_|

|_+_|

02 z 07 Wstaw do — dodawanie danych z formularza

Następnie należy utworzyć process.php, stronę, do której nasz formularz wysyła swoje dane. Oto przykład, jak zebrać te dane, aby opublikować je w bazie danych MySQL:



|_+_|

Jak widać pierwszą rzeczą, którą robimy, jest przypisanie zmiennych do danych z poprzedniej strony. Następnie po prostu wysyłamy zapytanie do bazy danych, aby dodać te nowe informacje.

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

|_+_| 03 z 07

Dodaj przesłane pliki

Teraz wiesz, jak przechowywać dane użytkowników 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 to, że będzie liczyć się do przypisania każdemu plikowi unikalnego identyfikatora 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 nazywa się DŁUGI BLOB. Jak wspomnieliśmy wcześniej, istnieje wiele rodzajów obiektów BLOB. TINYBLOB, BLOB, MEDIUMBLOB i LONGBLOB to twoje opcje, ale my ustawiliśmy nasze na LONGBLOB, aby umożliwić największe możliwe pliki.



Następnie utworzymy formularz, który pozwoli użytkownikowi przesłać swój plik. To tylko prosta forma, oczywiście możesz ją ubrać, jeśli chcesz:

|_+_|

|_+_|



Pamiętaj, aby zwrócić uwagę na enctype, jest to bardzo ważne!

04 z 07

Dodawanie przesyłanych plików do MySQL

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



|_+_|

|_+_|

|_+_|



|_+_|

|_+_|

Dowiedz się więcej o tym, co to właściwie robi, na następnej stronie.

05 z 07

Objaśnienie dodawania przesłanych plików

Pierwszą rzeczą, jaką robi ten kod, jest połączenie z bazą danych (musisz to zastąpić rzeczywistymi informacjami o bazie danych).

Następnie używa ADDLASHES funkcjonować. To, co robi, to dodawanie odwrotnych ukośników w razie potrzeby do nazwy pliku, abyśmy nie otrzymali błędu podczas zapytania do bazy danych. Na przykład, jeśli mamy plik Billy'sFile.gif, zostanie on przekonwertowany na plik Billy'sFile.gif. FOPEN otwiera plik i FREAD jest bezpiecznym plikiem binarnym, odczytywanym tak, że ADDLASHES w razie potrzeby jest stosowany do danych w pliku.

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

Na koniec wydrukujemy dane, aby użytkownik mógł je przejrzeć.

06 z 07

Pobieranie plików

Nauczyliśmy się już aportowaćzwykłe danez naszej bazy danych MySQL. Podobnie przechowywanie plików w bazie danych MySQL nie byłoby zbyt praktyczne, gdyby nie było sposobu na ich odzyskanie. Sposób, w jaki nauczymy się to robić, polega na przypisaniu każdemu plikowi adresu URL na podstawie jego numeru identyfikacyjnego. Jeśli pamiętasz, kiedy przesyłaliśmy pliki, automatycznie przypisaliśmy każdemu z nich numer identyfikacyjny. Użyjemy tego tutaj, gdy oddzwonimy do plików. Zapisz ten kod jako download.php

|_+_|

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

Ten kod jest podstawą do robienia wielu rzeczy. Mając to jako podstawę, możesz dodać zapytanie do bazy danych, które wyświetli listę plików i umieścić je w rozwijanym menu, aby ludzie mogli wybrać. Możesz też ustawić identyfikator jako losowo utworzoną liczbę, aby inna grafika z Twojej bazy danych była losowo wyświetlana za każdym razem, gdy dana osoba odwiedza. Możliwości są nieskończone.

07 z 07

Usuwanie plików

Tutaj jest bardzo prosta sposób usuwania plików z bazy danych. Chcesz bądź ostrożny z tym!! Zapisz ten kod jako remove.php

|_+_|

Podobnie jak nasz poprzedni kod, który pobierał pliki, ten skrypt umożliwia usuwanie plików po prostu przez wpisanie ich adresu URL: http://twojastrona.com/remove.php?id=2 (zastąp 2 identyfikatorem, który chcesz usunąć). oczywiste powody, chcesz uważaj na ten kod . To jest oczywiście dla demonstracji, kiedy faktycznie budujemy aplikacje, będziemy chcieli wprowadzić zabezpieczenia, które pytają użytkownika, czy jest pewien, że chce usunąć, czy może tylko zezwalają na usuwanie plików osobom posiadającym hasło. Ten prosty kod jest podstawą, na której będziemy budować wszystkie te rzeczy.