2010-11-21 3 views
1

Я создал форму, которая позволяет пользователям загружать изображение в папку на сервере. Как вставить изображение в базу данных? Я создал имя таблицы, называемое upload в базе данных с именем blog, и строку с именем image со значением MediumBLOB.Вставка изображений в базу данных

Если вышеизложенное звучит нелогично, как я могу динамически вызвать изображение с сервера?

Thank you.

+1

Есть ли причина, по которой вы не оставляете изображение в файловой системе и просто сохраняете в нем путь или идентификатор? – Matthew

+0

@ konforce Нет, не по определенной причине. Можете ли вы объяснить, как я могу хранить id в db, а затем вызывать изображение позже с идентификатором? Благодарю. Я определяю идентификатор в теге img? Благодарю. – brad

+0

(в нижнем регистре b), обычно я просто создаю скрипт getimg.php? Id = 234234, а затем этот PHP-скрипт либо перенаправляет изображение, возвращает содержимое файла как есть, либо обрабатывает любые обрезки/изменение размера, которые могут быть необходимо (и кэшировать его). Независимо от этого, он будет искать идентификатор изображения в базе данных и найти путь к фактическому файлу на сервере. – Brad

ответ

1

См. this howto. Тем не менее, вы должны действительно рассмотреть возможность использования параметризованных запросов вместо передачи аргументов запроса inline.

+0

отличная ссылка. Но теперь я немного смущен. Должен ли я хранить полное изображение в db или назначать ему идентификатор, а затем вызывать его через идентификатор? Спасибо – brad

+0

Большинство администраторов баз данных рекомендуют не хранить большие данные о блобе, такие как изображения в базе данных, поскольку они будут излишне налагать налог на сервер базы данных каждый раз, когда вам нужно получить изображение. Есть два способа приблизиться к этому: хранить файлы в каталоге внутри webroot, чтобы веб-сервер мог размещать их как есть или хранить их в другом месте и использовать сценарий для их обслуживания (например, «image.php? Id = xxx'). В любом случае, да, измените фактическое имя файла на идентификатор изображения в БД или придумайте другой способ сопоставить записи базы данных с записями файловой системы. – cdhowie

+0

@brad: его редкий, когда-либо на самом деле хотите сохранить изображение в db. jsut сохранит путь в файловой системе. затем, когда вы идете, отобразите его, чтобы преобразовать этот путь файловой системы к общедоступному пути к его изображению. – prodigitalson

Смежные вопросы