Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вывод последних загруженных изображений
Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011 Откуда: rm -rf /
Помог: 0 раз(а)
В общем очень надо осуществить вывод последних загруженных на сервер изображений из папки.
Пробовал колдовать через filemtime но ничего не вышло....
Подскажите плиз
----- 90% ошибок находятся в полуметре от монитора...
Okula
Отправлено: 16 Февраля, 2012 - 22:44:24
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Нужно писать информацию о загруженном файле в базу.
foozzi
Отправлено: 16 Февраля, 2012 - 22:46:05
Посетитель
Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011 Откуда: rm -rf /
Помог: 0 раз(а)
Okula пишет:
Нужно писать информацию о загруженном файле в базу.
а на файлах как то можно?
----- 90% ошибок находятся в полуметре от монитора...
Okula
Отправлено: 16 Февраля, 2012 - 23:02:08
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Используй базу данных SQLite3 если хочешь на файлах.
Bio man
Отправлено: 16 Февраля, 2012 - 23:10:52
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
зачем БД по пустякам трогать? вот на filemtime, все очень просто.
Используй базу данных SQLite3 если хочешь на файлах.
MySQL тоже на файлах и что теперь считать работу с БД тем же самым, что и с файлами?
Не путайте понятия БД и работы с файлами и ФС
Okula
Отправлено: 16 Февраля, 2012 - 23:19:02
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Bio man пишет:
MySQL тоже на файлах и что теперь считать работу с БД тем же самым, что и с файлами?
Не путайте понятия БД и работы с файлами и ФС
Не сравнивай MySQl и SQLite это два разных вида баз данных. SQLite не использует модель клиент-сервер, это обычный бинарный файл, который можно разместить в файловой системе на одном уровне со скриптом.
В отличии от твоего примера, который будет сканировать всю папку в целом и возвращать в массиве данные всех имеющихся данных, тем самым нагружая проект сильнее, использование базы данных сделает работу скрипта менее ресурсоёмкой.
Так что твой код проигрывает. Подумай прежде чем советовать
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
при чем тут клиент-сервер? ТС имел ввиду на файлах вместо БД а ты ему опять БД советуешь.
Okula пишет:
твой код проигрывает
а вот и нет.
во первых мой код проще. не нужно каждый раз обращатся к БД и при добавлении записывать новые строки в БД.
во вторых БД тоже сканирует все записи и выбирает по условию, и зависит от БД сколько времени ей понадобится что бы выбрать нужные данные, и быстрее это или нет тоже зависит от БД. конечно выборка из SQLite быстрее чем из MySQL.
в третьих - отпадает лишний код который будет совершать действия над БД. (Добавление)
тем более можно ограничить чтение до, например, 20 файлов.
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Bio man пишет:
во вторых БД тоже сканирует все записи и выбирает по условию
ты не прав, SQL запрос отсортирует данные и возьмёт только указанное кол-во строк (используя LIMIT и DESC для сортировки по убыванию), это не поиск по LIKE.
К тому же база данных использует кеширование, что значительно ускоряет работу с ней.
Bio man пишет:
во первых мой код проще. не нужно каждый раз обращатся к БД и при добавлении записывать новые строки в БД.
причём тут это? речь идёт не о записи в базу, а о выводе. Да и SQL запрос много времени и ресурсов не занимает. (Добавление)
Bio man пишет:
тем более можно ограничить чтение до, например, 20 файлов.
Хаха, ты не ограничиваешь чтение, ты ограничеваешь только работу цикла.
К тому же в твоём примере будет выводиться 20 ПЕРВЫХ записей из массива, а в массиве они лежат в неотсортированном по времени изменения виде.
Так что уже код будет работать неверно
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Okula пишет:
К тому же в твоём примере будет выводиться 20 ПЕРВЫХ записей из массива
в массиве всего 20 записей. ну можно ведь и массив отсортировать!
Okula
Отправлено: 16 Февраля, 2012 - 23:59:14
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Вобщем, я высказал своё мнение по поводу реализации данной задачи. Выбор за автором.
Bio man
Отправлено: 17 Февраля, 2012 - 00:00:30
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Okula, хочешь еще проще?
просто сохраняем файл имя которого будет состоять из метки UNIX TIMESTAMP и брать файлы по имени. по умолчанию файлы сортируются по имени.
Okula
Отправлено: 17 Февраля, 2012 - 00:10:45
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Bio man, а если автор хочет сохранить оригинальные имена файлов?
Короче, хватит велосипеды придумывать
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.