Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум о web-дизайне, графике - RusForumz _ Web-программирование: PHP _ Автозаполнение таблицы-бд имеющимися картинками

Автор: Нун 22.4.2008, 1:34

Дано: несколько тысяч картинок (нет, не угадали - не порно wink.gif ), желание и время.
Задача: каталог для сайта с сортировкой по страницам, вообще разобраться каким образом в базу данных MySQL (пользуюсь SQL Manager for MySQL) добавлять картинки, и наконец - возможно-ли автоматическое заполнение таблицы вообще.

Начал было Drag&Drop'ом в обычную html'ную таблицу поштучно пихать картинки... После 30 картинок остановился с мыслью "еще две тысячи девятьсот семьдесят". Результат - эта тема на форуме smile.gif
Заранее благодарю.

Автор: liw 22.4.2008, 11:56

Ну примерно так:

Код
    
//соединяетесь с базой
foreach (glob("*.jpg") as $filename) { //берём все картинки jpg из папки..
        if(mysql_query("INSERT INTO images VALUES (1,'".$filename."','".addslashes(file_get_contents($filename))."')")){
print "file ".$filename." - ok<br>";}else{print "file ".$filename." - error<br>";};
    }




Автор: Нун 23.4.2008, 18:54

Какой тип данных выбирать в MySQL для картинок? Скрипт попробовать пока не удалось, но позже напишу остальные вопросы, которые, я практически уверен, у меня возникнут smile.gif Большое спасибо за ответ.

Автор: liw 23.4.2008, 20:27

BLOB

Автор: Нун 28.4.2008, 14:06

Очередная порция вопросов:
Как вытащить картинку в таблицу из базы mysql?

Чтобы все было намного проще, посоветуйте пожалуйста книжечку по пхп, нечто более продвинутое чем "пхп 5 в теории и на практике. Самоучитель".

Автор: liw 28.4.2008, 15:41

Код
$data=mysql_fetch_array(mysql_query('SELECT `image_blob_field_name` FROM `table_name`'));
header("Content-type: image/jpg");
print $data[0];


Книг советовать не буду, так как не знаю. Когда нужна конкретная информация ещё проще найти через поиск. (yandex, google etc.)

Автор: _r2_ 29.4.2008, 10:35

Настоятельно не советую заливать в базу сами картинки.
Храните лучше пути к ним или просто названия файлов, пути достраивая уже при выводе!

Автор: Нун 1.5.2008, 14:21

Цитата(liw @ 28.4.2008, 16:41) *

Код
$data=mysql_fetch_array(mysql_query('SELECT `image_blob_field_name` FROM `table_name`'));
header("Content-type: image/jpg");
print $data[0];


Книг советовать не буду, так как не знаю. Когда нужна конкретная информация ещё проще найти через поиск. (yandex, google etc.)

В очередной раз выражаю благодарность за дельные советы smile.gif

Цитата(_r2_ @ 29.4.2008, 11:35) *

Настоятельно не советую заливать в базу сами картинки.
Храните лучше пути к ним или просто названия файлов, пути достраивая уже при выводе!

Спасибо! Ковырявшись с выковыриванием (ну да, да) картинок из базы решил все-таки остановиться на этом методе.

Автор: Нун 1.5.2008, 22:42

Еще два вопроса: как заставить пхп скрипт (в данном случае скрипт выборки .jpg файлов в базу данных) не учитывать регистр? Как вытащить лишь часть названия файла из строки базы данных, допустим есть файл ABC_NAME_small.jpg, нужно только NAME.

Автор: liw 4.5.2008, 9:45

LIKE %NAME%

для того что бы был регистронезависимый поиск, кодировка базы должна должна быть не XXX_general_ci
ну или просто в запросе lower(поле) LIKE %NAME%,
возможно есть ещё какой нибудь способ.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)