Понякога е полезно да събирате данни от потребителите на уебсайта си и да съхранявате тази информация в MySQL база данни. Вече видяхме, че можете да попълните база данни с помощта PHP, сега ще добавим практичността на позволяването на добавяне на данни чрез удобна за използване уеб форма.
След това трябва да направите process.php, страницата, на която формулярът ни изпраща своите данни. Ето пример за това как да събираме тези данни за публикуване в базата данни на MySQL:
Разбира се, преди да го опитаме, трябва да се уверим, че таблицата действително съществува. Изпълнението на този код трябва да създаде таблица, която може да се използва с нашите примерни файлове:
Сега знаете как да съхранявате потребителски данни в MySQL, така че нека да го направим още една стъпка и да научим как да качите файл за съхранение. Първо, нека направим нашата примерна база данни:
Първото нещо, което трябва да забележите, е поле, наречено документ за самоличност което е настроено на АВТОМАТИЧНО УВЕЛИЧАВАНЕ. Какво е това
тип данни означава, че ще се брои да се присвои на всеки файл уникален идентификатор на файл, започващ от 1 и стигащ до 9999 (тъй като ние посочихме 4 цифри). Вероятно също ще забележите, че се извиква нашето поле за данни LONGBLOB. Има много видове BLOB, както споменахме преди. TINYBLOB, BLOB, MEDIUMBLOB и LONGBLOB са вашите възможности, но ние зададохме нашите на LONGBLOB, за да дадем възможност за възможно най-големите файлове.След това ще създадем формуляр, който да позволи на потребителя да качи файла си. Това е просто проста форма, очевидно бихте могли да я облечете, ако искате:
На следващо място, ние всъщност трябва да създадем upload.php, който ще вземе файла на нашите потребители и ще го съхранява в нашата база данни. По-долу е примерно кодиране за upload.php.
След това използва ADDSLASHES функция. Това прави, е да добавите наклонени черти, ако е необходимо, в името на файла, така че да не получаваме грешка, когато заявяваме базата данни. Например, ако имаме Billy'sFile.gif, той ще преобразува това в Billy'sFile.gif. FOPEN отваря файла и FREAD е двоичен безопасен файл, който се чете, така че ADDSLASHES се прилага към данни в рамките на файла, ако е необходимо.
След това добавяме цялата информация, която нашата форма е събрала в нашата база данни. Ще забележите, че първо сме изброили полетата, а вторите - за да не се опитаме да вмъкнем данни в първото ни поле (полето за автоматично присвояване на идентификатор.)
Вече научихме как да извлечем обикновени данни от нашата база данни MySQL По същия начин, съхраняването на вашите файлове в база данни на MySQL не би било много практично, ако няма начин да ги извлечете. Начинът, по който ще се научим да правим това, е като присвоим на всеки файл URL, въз основа на идентификационния им номер. Ако ще си припомните, когато качихме файловете, автоматично присвоихме на всеки от файловете идентификационен номер. Ще използваме това тук, когато върнем файловете обратно. Запазете този код като download.php
Сега, за да извлечем нашия файл, насочваме браузъра си към: http://www.yoursite.com/download.php? id = 2 (заменете 2 с какъв номер на файл, който искате да изтеглите / покажете)
Този код е основата за правенето на много неща. С това като база можете да добавите заявка към база данни, която би изброила файлове, и да ги поставите в падащо меню, за да могат хората да избират. Или можете да зададете ID да бъде произволно създаден номер, така че различна графика от вашата база данни да се показва на случаен принцип всеки път, когато човек посети. Възможностите са безкрайни.
Подобно на предишния ни код, който изтегля файлове, този скрипт позволява файловете да бъдат премахнати само като напишете URL адреса им: http://yoursite.com/remove.php? id = 2 (заменете 2 с идентификатора, който искате да премахнете.) По очевидни причини искате да го направите бъдете внимателни с този код. Това разбира се е за демонстрация, когато всъщност изграждаме приложения, ние ще искаме да поставим защитни мерки, които попитайте потребителя дали са сигурни, че искат да изтрият, или може би позволяват само на хора с парола да премахват файлове. Този прост код е основата, върху която ще надграждаме всички тези неща.