Ukládání souborů odevzdaných uživateli do databáze MySQL

click fraud protection

Někdy je užitečné shromažďovat data od uživatelů vašich webových stránek a ukládat tyto informace do MySQL databáze. Už jsme viděli, že můžete naplnit databázi pomocí PHP, nyní přidáme praktičnost umožnění přidání dat prostřednictvím uživatelsky přívětivého webového formuláře.

Dále musíte vytvořit process.php, stránku, na kterou náš formulář odešle svá data. Zde je příklad, jak shromažďovat tato data za účelem zveřejnění v databázi MySQL:

Než to zkusíme, musíme se samozřejmě ujistit, že tabulka skutečně existuje. Spuštění tohoto kódu by mělo vytvořit tabulku, kterou lze použít s našimi ukázkovými soubory:

Nyní víte, jak ukládat uživatelská data do MySQL, pojďme to tedy ještě o krok dále a naučte se, jak nahrát soubor pro uložení. Nejprve si vytvoříme naši ukázkovou databázi:

První věc, kterou byste si měli všimnout, je pole zvané id to je nastaveno na AUTO_INCREMENT. Co tohle? datový typ znamená, že se spočítá, aby se každému souboru přiřadilo jedinečné ID souboru začínající na 1 až do 9999 (protože jsme zadali 4 číslice). Pravděpodobně si také všimnete, že se volá naše datové pole

instagram viewer
LONGBLOB. Jak jsme již zmínili, existuje mnoho typů BLOB. TINYBLOB, BLOB, MEDIUMBLOB a LONGBLOB jsou vaše možnosti, ale my jsme nastavili naši hodnotu na LONGBLOB, abychom umožnili co největší soubory.

Dále vytvoříme formulář, který uživateli umožní nahrát její soubor. Toto je pouze jednoduchá forma, očividně byste ji mohli oblékat, pokud byste chtěli:

Dále musíme skutečně vytvořit upload.php, který vezme soubor našich uživatelů a uloží jej do naší databáze. Níže je ukázkové kódování pro upload.php.

Dále používá ADDSLASHES funkce. Co to dělá, je přidat zpětná lomítka, pokud je to potřeba, do názvu souboru, abychom při dotazu na databázi nedostali chybu. Pokud například máme Billy'sFile.gif, převede jej na Billy'sFile.gif. FOPEN otevře soubor a FREAD je binární bezpečný soubor čten tak, že ADDSLASHES se v případě potřeby použije na data v souboru.

Dále přidáme všechny informace, které náš formulář shromažďuje, do naší databáze. Všimněte si, že jsme nejprve uvedli pole a hodnoty druhé, takže se náhodně nezkoušíme vkládat data do našeho prvního pole (pole automatického přiřazení ID.)

Už jsme se naučili, jak získat prostá data z naší databáze MySQL. Podobně by ukládání souborů do databáze MySQL nebylo příliš praktické, pokud by neexistoval způsob, jak je načíst. Způsob, jakým se toho naučíme, je přiřadit každému souboru adresu URL na základě jejich identifikačního čísla. Pokud si při nahrávání souborů vzpomenete, automaticky jsme každému souboru přiřadili identifikační číslo. Použijeme to zde, když soubory zavoláme zpět. Uložte tento kód jako download.php

Nyní, když chceme načíst náš soubor, odkazujeme náš prohlížeč na: http://www.yoursite.com/download.php? id = 2 (nahraďte 2 libovolným ID souboru, který chcete stáhnout / zobrazit)

Tento kód je základem pro spoustu věcí. Jako základ můžete přidat do databázového dotazu, který by zobrazoval soubory, a dát je do rozbalovací nabídky, aby si lidé mohli vybrat. Nebo můžete nastavit ID na náhodně vytvořené číslo, takže při každé návštěvě osoby se náhodně zobrazí jiná grafika z vaší databáze. Možnosti jsou nekonečné.

Stejně jako náš předchozí kód, který stahoval soubory, i tento skript umožňuje odstranit soubory pouhým zadáním jejich adresy URL: http://yoursite.com/remove.php? id = 2 (nahraďte 2 ID, které chcete odebrat.) Z pochopitelných důvodů chcete buďte opatrní s tímto kódem. To je samozřejmě pro demonstraci, když vlastně vytváříme aplikace, které chceme chránit zeptejte se uživatele, zda si jsou jistí, že chtějí odstranit, nebo možná pouze umožněte lidem s heslem odstranit soubory. Tento jednoduchý kód je základem, na kterém budeme stavět, abychom udělali všechny tyto věci.

instagram story viewer