Ukladanie súborov odovzdaných používateľom do databázy MySQL

Niekedy je užitočné zhromažďovať údaje od používateľov vašich webových stránok a ukladať tieto informácie do MySQL databáz. Už sme videli, že môžete naplniť databázu pomocou PHP, teraz pridáme praktickosť umožnenia pridávania údajov prostredníctvom používateľsky príjemného webového formulára.

Ďalej musíte vytvoriť process.php, stránku, na ktorú náš formulár posiela svoje údaje. Tu je príklad, ako zhromaždiť tieto údaje, aby bolo možné uverejniť v databáze MySQL:

Predtým, ako sa o to pokúsime, musíme sa samozrejme uistiť, že tabuľka skutočne existuje. Spustenie tohto kódu by malo vytvoriť tabuľku, ktorú je možné použiť s našimi vzorovými súbormi:

Teraz viete, ako ukladať užívateľské dáta do MySQL, tak to urobme ešte o krok ďalej a naučíme sa, ako nahrať súbor na uloženie. Najprv si vytvorme našu vzorovú databázu:

Prvá vec, ktorú by ste si mali všimnúť, je pole s názvom id to je nastavené na AUTOMATICKÝ PRÍRASTOK. Čo to Dátový typ Znamená to, že sa počíta, aby sa každému súboru pridelilo jedinečné ID súboru začínajúce na 1 až po 9999 (pretože sme zadali 4 číslice). Pravdepodobne si tiež všimnete, že sa volá naše dátové pole

instagram viewer
LONGBLOB. Existuje veľa typov BLOB, ako sme už spomenuli. TINYBLOB, BLOB, MEDIUMBLOB a LONGBLOB sú vaše možnosti, ale my sme si nastavili LONGBLOB, aby sme umožnili čo najväčšie možné súbory.

Ďalej vytvoríme formulár, ktorý umožní používateľovi nahrať jej súbor. Toto je iba jednoduchá forma, ktorú by ste si samozrejme mohli obliecť, ak by ste chceli:

Ďalej musíme skutočne vytvoriť upload.php, ktorý vezme súbor našich používateľov a uloží ho do našej databázy. Nižšie je uvedené ukážkové kódovanie pre upload.php.

Ďalej používa addslashes Funkcie. V prípade potreby do názvu súboru pridajte spätné lomky, aby sme pri vyhľadávaní databázy nedostali chybu. Napríklad, ak máme súbor Billy'sFile.gif, prevedie ho na súbor Billy'sFile.gif. fopen otvorí súbor a fread je binárny bezpečný súbor prečítaný tak, že addslashes sa v prípade potreby použije na údaje v súbore.

Ďalej pridáme všetky informácie, ktoré náš formulár zhromaždil, do našej databázy. Všimnite si, že sme uvedené polia uviedli ako prvé a hodnoty druhé, aby sme sa náhodou nesnažili vkladať údaje do nášho prvého poľa (pole ID automatického priraďovania).

Už sme sa naučili, ako získať jednoduché dáta z našej databázy MySQL. Podobne by ukladanie súborov do databázy MySQL nebolo príliš praktické, keby neexistoval spôsob, ako ich získať. Dozvieme sa to tak, že každému súboru priradíme URL na základe jeho identifikačného čísla. Ak si pri nahrávaní súborov spomeniete, automaticky sme každému zo súborov pridelili identifikačné číslo. Použijeme to tu, keď súbory zavoláme späť. Uložte tento kód ako download.php

Teraz, keď chceme načítať náš súbor, nasmerujeme náš prehliadač na: http://www.yoursite.com/download.php? id = 2 (nahraďte 2 ľubovoľným ID súboru, ktorý chcete stiahnuť / zobraziť)

Tento kód je základom pre veľa vecí. Ako základ môžete pridať do databázového dotazu, ktorý obsahuje zoznam súborov a dať ich do rozbaľovacej ponuky, ktorú si budú môcť ľudia vybrať. Alebo môžete nastaviť ID ako náhodne vytvorené číslo, aby sa pri každej návšteve osoby náhodne zobrazila iná grafika z vašej databázy. Možnosti sú nekonečné.

Rovnako ako náš predchádzajúci kód, ktorý sťahoval súbory, aj tento skript umožňuje odstránenie súborov iba zadaním ich adresy URL: http://yoursite.com/remove.php? id = 2 (nahraďte 2 ID, ktoré chcete odstrániť.) Z pochopiteľných dôvodov to chcete urobiť buďte opatrní s týmto kódom. Toto je, samozrejme, ukážka, keď skutočne vytvárame aplikácie, ktoré chceme zaistiť opýtajte sa používateľa, či sú si istí, že chcú odstrániť, alebo aby umožnili odstránenie súborov iba ľuďom s heslom. Tento jednoduchý kód je základom, na ktorom budeme stavať, aby sme mohli robiť všetky tieto veci.

instagram story viewer