Добавяне на изображения към база от данни чрез PHP, Уеб дизайн - проектиране, разработка и

Добър ден, уважаеми читатели SoftMaker.kz блог. На този сайт вече има статии за PHP и предвид
Примери в PHP програмиране. Сега ние говорим за това как да добавяте изображения към базата данни MySQL чрез формуляр с помощта на PHP.


Добавяне на изображения към база от данни чрез PHP, Уеб дизайн - проектиране, разработка и

Създаване на поле в база MySQL за добавяне на изображения

Първо искам да кажа, че за съхранение на изображения в базата данни MySQL трябва да определите едно от полетата на таблицата като производно на BLOB.

Намаляване BLOB е двоичен голям обект. тип BLOB съхранение на данни има няколко варианта:

  • TINYBLOB - може да съхранява до 255 байта
  • BLOB може да се съхранява до 64 килобайта информация
  • MEDIUMBLOB - до 16 мегабайта
  • LONGBLOB до 4 гигабайта

За съхраняване на файла с изображението в базата данни е необходимо да се прочете файла в променлива и да се създаде заявка за добавяне на данни в таблица.

Подготовка на формата на страницата, за да добавите изображение в база данни MySQL

В моя случай, проблемът е да се добавят две изображения в базата данни чрез формуляр с помощта на PHP. Имаме форма с две полета и кликнете върху Изпращане:

Името форма = »метод Form1" = »пост» действие = »add_image.php»
enctype = »съставното / форм-данни»

Позволете ми да ви напомня, че атрибутът за действие определя файла, който ще изпълни с мишката файлове с изображения. Атрибутът enctype показва метода на кодиране на съдържанието и формата на информация podgruzku файлове. Вижте как да се запълни enctype атрибут за да се избегнат грешки при предаването на ценности чрез метод форма POST.

Забележка: Поддръжка на няколко качване на файлове е въведена във версия 3.0.10.

Писане PHP код, за да запаметите изображението в база от данни на

Тъй като ние изпрати два файла в атрибута име, когато думите показват «потребителския файл []» в квадратни скоби, че ние даваме да се разбере, че ние изпращаме множество файлове с използване на масив, който съдържа атрибути на файл:

Оригиналното име на файла на клиентската машина.

мим тип на файла, ако браузъра предостави тази информация.
Пример: "изображение / GIF".

Временно името на файла, при които изтегления файл се съхранява на сървъра.

Как да получите стойността на всеки файл?

Например, да предположим, че имената на файловете и /home/test/1.jpg /home/test/2.jpg на.

В този случай, $ _FILES [ 'потребителския файл'] [ 'име'] [0]
Той ще съдържа 1.jpg стойност,
и $ _FILES [ 'потребителския файл'] [ 'име'] [1]
- стойност 2.jpg

По същия начин, $ _FILES [ 'потребителския файл'] [ 'размер'] [0] ще съдържа 1.jpg за размер на файла стойност, и така нататък. А сега да разгледаме add_image.php код файл, който е посочен в формите на атрибутите на действие.

Така че, в тази статия говорихме за това как да запазите изображението в база данни MySQL с помощта на PHP.

Във втората статия, нека да разгледаме как да извлечете спаси графичен файл от базата данни MySQL.

Този блог се чете от много хора
- Прочетох и ВАС!

функция get_image ($ бр)
глобалния $ ErrorDescription;
статично $ image_size = 0;

// Проверка Pusztai глобалната променлива $ _FILES

$ Image_size = $ _ ФАЙЛОВЕ [ 'потребителския файл "] [" размер "] [$ бр];
// лимит за размера на файла, в моя случай, 1MB
ако ($ image_size> 1024 * 1024 || $ image_size == 0)
$ ErrorDescription = "
Всяко изображение не трябва privyshat 1MB! Не може да се добави Изображението в базата данни. ";
върнете »;
>

ако (SUBSTR върху ($ _ ФАЙЛОВЕ [ 'потребителския файл "] [" тип "] [$ бр], 0, 5) ==" изображение)
// Четете съдържанието на файла
$ Изображение = file_get_contents ($ _ ФАЙЛОВЕ [ 'потребителския файл'] [ 'tmp_name'] [$ бр]);
// проверка на специални знаци в съдържанието на файла
$ Изображение = mysql_escape_string ($ изображение);
върне $ образ;
>

още
$ ErrorDescription = "
Вие не сте изтеглили изображението, така че не може да се добави.
";
върнете »;
>
>

още
$ ErrorDescription = "Вие не сте изтеглили изображението, областта е празен, така че не може да се добави файла в базата данни."; Връщане;
>
върне $ образ;
>

// С помощта на предварително дефинирана функция get_image // присвоява съдържание променливи файлове
$ Image_before = get_image (0);
ако ($ image_before == »)
изключено ($ image_before);
>
още
$ Image_after = get_image (1); ако ($ image_after == »)
изключено ($ image_after);
>
>

// Проверете дали променливи са зададени
ако (Isset ($ заглавие) Isset ($ image_after) Isset ($ image_before))
включва "база-бг / config.php";
/ * Ти пишеш, че можете да въведете информация в базата данни.
В нашия sduchae в базата данни, има два типа полета MEDIUMBLOB: img_before и img_after * /
$ Резултат = mysql_query ( "INSERT INTO imagess (заглавие, img_before, img_after) VALUES ( '$ заглавие', '$ image_before', '$ image_after')", $ db);
ако ($ резултат == "истински")
ехо "Вашата снимка беше добавен успешно!";
>

още
ехо "Вашите снимки са добавени!";
>
>

още
ако ($ ErrorDescription == »)
ехо "Вие не сте въвели цялата информация, така че не може да се добави изображението в базата данни.";
>

още
ехо $ ErrorDescription;
>