Как в phpmyadmin сделать тип под фотографию

Вставка файлов

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений [ 4 ]

1 Тема от vadimqwerty 2008-06-30 20:52:05

  • vadimqwerty
  • Редкий гость
  • Неактивен
  • На форуме с 2008-06-26
  • Сообщений: 5

Тема: Вставка файлов

Всем привет. Нужна помощь! Знания по теме маловато, поэтому не знаю даже правильно ли задаю вопрос. -)
Работаю c: phpMyAdmin – 2.9.1.1
Вообщем, нажно вставлять в базу изображения для статей. ну и потом со всем этим работать. Пробовал вставлять в “импотр” – не помогло:-).
Можно не много теории как это лучше сделать, как это будет храниться и как это работает?

2 Ответ от Hanut 2008-06-30 23:03:50

  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • На форуме с 2006-07-02
  • Сообщений: 9,653

Re: Вставка файлов

vadimqwerty
Хранить картинки в БД – идея не из лучших. Сохраняйте изображения в каталогах на сервере, а в статьях используйте обычную html вставку

Если надо обязательно хранить в БД, то создайте поле с бинарным типом, затем при вставке будет доступно поле загрузки. Однако для вывода картинки потребуется специальный скрипт, который будет доставать данные из БД и представлять их в виде картинки.

3 Ответ от vadimqwerty 2008-07-04 19:09:06

  • vadimqwerty
  • Редкий гость
  • Неактивен
  • На форуме с 2008-06-26
  • Сообщений: 5

Re: Вставка файлов

vadimqwerty
Хранить картинки в БД – идея не из лучших. Сохраняйте изображения в каталогах на сервере, а в статьях используйте обычную html вставку

Если надо обязательно хранить в БД, то создайте поле с бинарным типом, затем при вставке будет доступно поле загрузки. Однако для вывода картинки потребуется специальный скрипт, который будет доставать данные из БД и представлять их в виде картинки.

Спасибо, что откликнулись!

Пробовал создавать поле с бинарным типом, но не получается. нет поля зугрузки.

4 Ответ от Hanut 2008-07-04 19:58:47

  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • На форуме с 2006-07-02
  • Сообщений: 9,653

Re: Вставка файлов

vadimqwerty
При добавлении поля выберите тип данных BLOB, после чего при вставке появится поле загрузки.

Если планируется сохранять картинки только одного типа, например jpeg, то можно применить преобразование (если оно доступно, конечно), для чего установите MIME-тип в image/jpeg; в поле “Преобразование” выберите image/jpeg: inline; в поле “Параметры преобразований” введите максимальную высоту и ширину картинки выводимые при просмотре, например – 100, 100.

Сообщений [ 4 ]

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

На основе PunBB, при поддержке Informer Technologies, Inc.

Currently installed 7 official extensions . Copyright © 2003–2009 PunBB.

как в phpmyadmin сделать тип под фотографию

ВАЖНО! Для того, что бы сохранить статью в закладки, нажмите: CTRL + D

Задать вопрос ВРАЧУ, и получить БЕСПЛАТНЫЙ ОТВЕТ, Вы можете заполнив на НАШЕМ САЙТЕ специальную форму, по этой ссылке >>>

PHP, MySQL, JavaScript, AJAX, HTML и CSS

Хранение изображений в базе данных MySQL

Для хранения изображений в базе данных MySQL необходимо определить одно из полей таблицы как производное от типа BLOB. Сокращение BLOB означает большой двоичный объект. Тип хранения данных BLOB обладает несколькими вариантами:

  • TINYBLOB — может хранить до 255 байт
  • BLOB — может хранить до 64 килобайт информации
  • MEDIUMBLOB — до 16 мегабайт
  • LONGBLOB — до 4 гигабайт

Соответсвенно, для хранения изображений нам надо создать таблицу images с двумя полями:

  • id — уникальный ID изображения
  • content — поле для хранения изображения

Для сохранения файла изображения в базе данных необходимо прочитать файл в переменную и создать запрос на добавление данных в таблицу. Допустим у нас есть форма для загрузки файла изображения на сервер:

Обработчик формы — файл putimage.php:

Извлечь сохраненный файл изображения можно следующим образом (файл image.php):

Чтобы вывести изображение в HTML-документе, делаем так:

И последнее: графические файлы иногда имеют довольно большой размер, убедитесь, что настройки сервера позволяют работать с таким объемом данных. В файле php.ini это директивы post_max_size — определяет максимальный объем данных передаваемых методом POST, и upload_max_filesize — определяет максимальный размер загружаемого файла. Так же проверьте, позволяют ли настройки MySQL обрабатывать запросы с большим объемом данных (директива max_allowed_packet файла my.ini).

Комментариев: 59

еще бы примеры, когда хранить картинки в базе лучше чем просто на диске

art, хранить графические файлы в базе данных — не самое удачное решение. Ведь это создает дополнительную нагрузку на сервер БД.

Когда мы сохраняем в базе данных каталог продукции, заказы в Интернет-магазине — то это вполне оправдано. Потому как альтернативный вариант — сохранять всю информацию в файлах. И работать с файлами напрямую. Но базы данных для того и созданы, чтобы избавить нас от этой рутины. Ведь в конечном итоге, все данные все равно сохраняются в файлах, хотя мы и говорим, что “данные хранятся в БД”. БД — это некий уровень абстракции, который здорово облегчает жизнь.

Почему тогда хранят файлы в базе данных? Дело в том, что на некоторых хостингах на объем дискового пространства есть ограничения, в то время как на размер БД — нет. Подчеркиваю — на некоторых. В этом случае, чтобы не выйти за пределы дисковой квоты прибегают к такой хитрости — хранят файлы в БД. В противном случае смысла в этом нет.

Читать еще:  Сделаю минет в балашихе

Владимир Лапшин:

“SELECT *” в реально работающем приложении не самая хорошая идея. Лучше все-таки перечислять нужные поля. Точно помогает, когда в таблицу приходится добавить еще какое-то поле.

“SELECT *” в реально работающем приложении не самая хорошая идея.

Согласен, сам читал об этом, но частенько забываю. Здесь это тем более актуально — нам нужно выбрать всего одно поле. Исправил.

Здравствуйте. Помогите начинающему. Загрузка картинки в базу идет нормально (вроде бы), т.е. объем загруженного файла (8кб) соответствует объему картинки, но плучить изображение обратно я не могу. В приведенном вами файле image.php — $_GET — не существует. Я малость его изменил — убрал лишние пока проверки — в результате, файл выводится, но не в виде картинки, а в виде текста-абракадабры.
Привожу свой вар. подскажите где ошибка, если знаете.

Анатолий, вы посылаете заголовок, сообщающий браузеру, что дальше идет изображение. Поэтому нельзя выводить в браузер ничего, кроме содержимого картинки. Т.е. факт наличия в скрипте оператора

уже является ошибкой. Браузер считает строку “соединение разорвано” частью изображения.

Я полагал, что перед header нельзя делать какой-либо вывод.
Впрочем, я убрал принт, оставил только одно echo — результат тот же.

Перед заголовками, разумеется, не должно быть вывода. Сервер и браузер общаются между собой при помощи заголовков. В данном случае ты отправляешь браузеру заголовок “Content-type: image/*”, сообщающий браузеру, что ВСЕ ДАЛЕЕ будет картинка. Но вместе с картинкой отправляешь еще и текст. По поводу того, почему не работает — причин может быть воз и маленькая тележка:
1. скрипт для коннекта к БД содержит после закрывающего тега ?> какой-нибудь вывод (например, пробел или перевод строки)
2. пробел или пустая строка перед открывающим тегом

А если красиво — использовать готовое решение:
Плагин FancyBox для библиотеки jQuery

Максим, давайте обсудим это на форуме. Выкладывайте свой скрипт, посмотрим, в чем там проблема.

> при переходе с MSSQL на MySQL столкнулся с проблемой,
> select count(*) from image; (посчитать количество
> картинок в базе) на MySQL выполняется 25 сек, на
> MSSQL MySQL меньше секунды. в таблице 50000 картинок, 300MB.
> это нормально для mysql? или я что-то не так делаю?

Не так делаете. Зачем запрашивать все поля *?
Проще и быстрее будет SELECT COUNT(`id`) FROM `image`;

не пойму почему не передает полный текст

Sancho, а Вы о чем вообще говорите?

Скажите, что делать с хедером, если изображение мне нужно вывести в середине страницы и, естественно, заголовок уже выведен.
При инклюде image.php, вылезает ошибка — Warning: Cannot modify header information — headers already sent by (output started at Z:homelocalhostwwwxyxaindex.php:17) in Z:homelocalhostwwwxyxaimage.php on line 13
Как мне всё же вывести изображение из БД в index.php?
(И, мало ли у кого есть готовый пример для ресайза изображения ДО добавления его в БД — буду очень признательна. Хотелось бы из одной загружаемой человеком фотографии сделать превью и фото, к примеру 600х400 и поместить их в БД, причем учитывая, что просто уменьшение может оказаться не пропорциональным, если, к примеру, фото было 1200х1000)Спасибо.

если изображение мне нужно вывести в середине страницы и, естественно, заголовок уже выведен. При инклюде image.php, вылезает ошибка — Warning: Cannot modify header information
По-моему, в заметке четко написано: чтобы вывести изображение в HTML-документе, делаем так

Включать изображение на страницу с помощью include?! Даже не комментирую…

у кого есть готовый пример для ресайза изображения ДО добавления его в БД
Масштабирование изображений

Включать изображение на страницу с помощью include?! Даже не комментирую…
Спасибо за быстрый ответ, но Вы не поняли, я не изображение же вставляю include, а файл image.php, а в самом html коде, конечно же.

Мне не понятна вот эта часть Вашего кода:
// Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения
header(”Content-type: image/*”);

На хостинге нет phpmyadmin, нужно залить дамп sql, если аналог phpmyadmin, но по проще? — PHP
На хостинге нет phpmyadmin, нужно залить дамп sql, если аналог phpmyadmin, но по проще?

Как в tpl файлы вставлять php код или просто файл — PHP
Всем привет работаю с сайтом попросили прикрутить к нему голосование я написал голосование на php а вот в сам сайт вставить не могу

При выполнении скрипта Вы увидите простую html форму. Для выбора файла (например, изображение) используйте кнопку «Обзор». Затем нажмите кнопку «Отправить». После загрузки файла на веб-сервер скрипт сообщит вам его идентификатор базы данных (ID). ID необходим для получения доступа к информации (при помощи следующего скрипта). Пример php скрипта для вывода изображений в браузер Скрипт getdata.php – это пример скрипта, который извлекает двоичную информацию из базы данных и передает её непосредственно пользователю. getdata.php

Читать еще:  Какую лучше сделать карту сбербанка

Поскольку скрипту необходимо «знать», который файл извлекать, в качестве параметра необходимо указать его ID. Например: Файл сохранен в базе данных под ID 2. Для получения этого файла необходимо вызвать:

Если в базе данных сохранены изображения, на вашей веб-странице можно использовать скрипт getdata, как например : Например: В базе данных вы сохранили изображение как ID 3 и хотите, чтобы оно отобразилось на вашей веб-странице. Для этого воспользуйтесь следующим кодом:

Пару полезных советов.

Как сохранить файл, размер которого больше 2 Mб?

Для загрузки и сохранения файлов, чей размер превышает 2 Мб, необходимо внести несколько изменений в скрипт и php/sql настройки в связи с установленными по умолчанию ограничениями. Для хранения файлов размером 2 Мб следует сделать следующее:

Внесите изменения в скрипт store.php. Поменяйте значение MAX_FILE_SIZE на 24000000;

По умолчанию php позволяет передовать файлы размером не более 2 Мб. Необходимо изменить переменную максимального размера файла на 24M. Это можно сделать в php.ini в дириктиве setting upload_max_filesize или в .htaccess прописать строчку php_value upload_max_filesize 24M. В конфигурационных файле apache прописать LimitRequestBody 24000000.

По умолчанию в mysql можно импортировать файлы размером не более 2 Мб. Чтобы снять ограничения размера пакета в mysql, выполните слудующие действия. Откройте файл настройки my.ini, измените строчку innodb_additional_mem_pool_size = 24M

Чтобы изменения вступили в силу, перезагрузите веб сервер Apache и сервер базы данных MySQL.

Как пользоваться phpmyadmin

Управление базами данных – один из самых важных моментов в разработке веб-сайтов приложений и других программных продуктов. Для многих программ нужно вручную создавать базы данных перед тем, как они смогут быть установлены и настроены. Если вы используете хостинг, то там есть веб-интерфейс для решения таких задач, но на VPS все придется делать вручную, через терминал или использовать phpmyadmin.

Это очень популярный инструмент для управления базой данных mysql. Здесь вы можете сделать практически все, начиная от создания базы данных и настройки прав доступа до создания пользователей и резервного копирования. В этой статье мы рассмотрим как пользоваться Phpmyadmin для решения своих задач.

Установка Phpmyadmin

Мы не будем подробно останавливаться на установке программы, поскольку она достаточно сложна и сильно зависит от используемого вами дистрибутива. Мы уже раньше говорили про установку phpmyadmin в Ubuntu, а чуть позже про установку phpmyadmin в CentOS, просто обратитесь к тем статьям, чтобы найти более подробную информацию о том как выполняется установка и настройка phpmyadmin.

Как пользоваться Phpmyadmin

Первое что вам предстоит после установки phpmyadmin – это открыть веб-интерфейс и авторизоваться в нем. Обычно веб-интерфейс доступен по адресу:

Это если вы ничего не меняли. Просто откройте этот адрес в браузере.

1. Авторизация

Когда вы откроете указанный выше адрес, перед вами откроется поле ввода логина и пароля. Я буду использовать суперпользователя, поскольку я собираюсь создавать базы данных, создавать новых пользователей и управлять их правами. Если вам нужно только выполнить SQL запрос как базе данных пользователя, то можно использовать его. В mysql для каждого пользователя можно прикрепить базу данных, к которой у него будет доступ что очень удобно.

Теперь вы знаете как войти в phpmyadmin.

2. Первоначальная настройка

Обратите внимание на самый низ окна, здесь программа сообщает о наличии новой версии и о том, что не все возможности активированы. Программа предлагает создать базу данных phpmyadmin и сохранить туда все ее настройки. Согласитесь на это предложение:

Здесь может быть выполнена настройка phpmyadmin, но я не советую вам тут что-то менять.

3. Интерфейс

Теперь пора более детально остановиться на интерфейсе программы. Перед вами открылось главное окно, оно выглядит вот так:

Условно его можно разделить на несколько частей:

  • Боковая панель – находится слева, тут отображается вертикальный список доступных для вас в данный момент баз данных, а также их таблиц. Вы можете развернуть каждую из них чтобы посмотреть таблицы. Также тут есть быстрые кнопки – обновить, домой и так далее;
  • Главное меню – это полоска, которая находится под именем сервера. Именно с помощью нее мы будем перемещаться по различным возможностям программы, таким как базы данных, пользователи, экспорт и импорт и так далее;
  • Рабочая область – тут отображается рабочая информация, сейчас, в главном окне тут находится информация о сервере, в других же случаях может находится содержимое базы данных или поле ввода текста.

Как видите, все довольно просто, несмотря на то, что на первый взгляд, интерфейс может показаться сложным.

4. Создание базы данных

Теперь нас интересует первая вкладка меню. Базы данных. Здесь вы увидите список доступных вам баз данных, а также поле для создания новой базы над ними. Введите в это поле имя для новой базы, а затем выберите кодировку utf8-general-ci:

После этого нажмите кнопку “Создать”. Будет создана новая база данных, и вы сразу перейдете в нее. Теперь вы управляете только ею и главное меню немного изменилось.

5. Создание таблиц

Обычно, различные движки создают себе сами таблицы, но на случай, если вы захотите создать базу данных phpmyadmin для собственного приложения, мы рассмотрим как делать таблицы. Как только вы попали на вкладку “Структура”, вам будет выведен список доступных таблиц, а также возможность добавить новую. Введите имя таблицы в поле, а также выберите количество столбцов.

Читать еще:  Как сделать деревянный стол

На следующем шаге нам предстоит выбрать типы данных для столбцов и их имена:

Я создам четыре поля:

  • id – формат INT, длина 255, AUTOINDEX, автоматически увеличивается для каждой новой записи, PRIMARY – используется как первичный ключ для ускорения поиска по этому полю;
  • time – формат TIMESTAMP – временная метка в формате Unix, CURRENT_TIMESTAMP – автоматически устанавливается текущее время когда создается запись в этом поле;
  • name и lastname – обычные строки VARCHAR длиной 1024 символа;

Внизу окна можно еще выбрать тип движка таблиц. Самый популярный – InnoDB, он самый производительный, но требователен к ресурсам. Можно еще выбрать AriaDB, но тогда производительность упадет. Когда завершите, нажмите кнопку “Сохранить” в самом низу:

Далее вы попадете на страницу этой таблицы и меню снова изменится. Тут вы можете настроить связи между таблицами, изменить ее структуру, добавить новые поля, выполнить поиск и вставить новые записи.

6. Вставка записей

Phpmyadmin позволяет делать практически все с таблицами баз данных, самое простое, что мы можем сейчас сделать – это вставить новую запись. Для этого перейдите на вкладку “Вставить”:

Здесь вы можете вставить несколько записей за один раз. Заполнять нужно только те поля, для которых не были заданы значения по умолчанию – name и lastname.

Когда завершите, пролистайте в самый низ и нажмите “Вперед”. Здесь же можно установить количество полей, которые вы хотите добавить.

Далее перед вами откроется либо редактор SQL с только что выполненным запросом, либо обзор полей таблицы:

7. Выполнение SQL запроса

Если вы не знаете как пользоваться phpmyadmin для выполнение того или иного действия, но знаете как его выполнить через SQL, то это не проблема в phpmyadmin можно выполнить любой SQL запрос. Для этого в меню таблицы или базы данных перейдите на вкладку SQL:

Сразу же тут вы найдете различные шаблоны для запросов.

Или можете ввести нужный запрос сами, вручную. Для выполнения запроса нажмите “Вперед”. Перед вами откроется результат запроса, если были получены какие-либо поля, то они будут выведены, если же нет, то просто будет выведено сообщение о том что все прошло успешно.

8. Создание пользователя

С основными операциями над базой данных мы разобрались, как вы могли убедится, работа с phpmyadmin очень проста, теперь давайте рассмотрим как настроить привилегии. Сначала нам нужно создать пользователя для базы данных. Для этого перейдите на домашний экран, а затем выберите “Учетные записи пользователей”:

Здесь отображен список всех пользователей, если вы авторизовались не от имени root, то, возможно, вам придется выйти и авторизоваться заново. Под списком есть ссылка “Добавить учетную запись пользователя”:

Тут вам нужно заполнить несколько полей. Во-первых, это имя пользователя. Оно может состоять из символов английского алфавита, цифр или дефиса, другие символы использовать можно, но лучше не нужно во избежание проблем. Следующее поле – это хост, с которого сможет авторизоваться этот пользователь, по умолчанию установлено значение %, это любой хост. Но нам нужно чтобы пользователь мог войти только локально, поэтому пишем localhost. Следующие два поля – пароль:

Чуть ниже вы можете создать базу данных с таким же именем, как у пользователя, или же настроить для него глобальные привилегии. Когда завершите, нажмите “Вперед”.

9. Привилегии пользователя

Еще нам нужно дать пользователю возможность работать только с одной базой данных. Поэтому после создания пользователя откройте его в списке и перейдите на вкладку “База данных”:

Здесь вам нужно выбрать базу данных, к которой у пользователя будет доступ, например, site-control:

Дальше нажмите “Вперед”. На следующем экране вам нужно отметить права, которые будут у пользователя на эту базу, можно просто нажать “Отметить все”:

На вкладке “Глобальные” вы все еще можете изменить глобальные привилегии пользователя.

10. Экспорт и импорт

Резервное копирование базы данных имеет очень важное значение. И эту функцию вы можете выполнять с помощью Phpmyadmin. Для этого перейдите на вкладку “Экспорт”:

В быстром режиме можно выполнить резервное копирование всех баз в формате SQL. Просто нажмите “Вперед”:

Для импорта перейдите на вкладку “Импорт” и выберите файл *.sql из которого вы хотите импортировать команды.

Выводы

В этой небольшой статье мы рассмотрели как пользоваться phpmyadmin для решения основных задач при работе с базой данных. Как видите, вам необязательно учить SQL и сидеть в терминале чтобы создать базу данных и таблицы для своего проекта. Хотя это было бы весьма желательно. Надеюсь, эта инструкция phpmyadmin для чайников была для вас полезной. Если у вас остались вопросы, спрашивайте в комментариях!

Источники:

http://forum.php-myadmin.ru/viewtopic.php?id=835

как в phpmyadmin сделать тип под фотографию

Как пользоваться phpmyadmin

Ссылка на основную публикацию
Статьи на тему: