flo.mAster 7 Опубликовано: 5 ноября 2007 Рассказать Опубликовано: 5 ноября 2007 Я заметил(давно) что к названию изображения добавляюся цифры, пример: 1194271889_dle.jpg . Как изменить 1194271889 вот это перед названием файла? На другое, кпримеру на media_portal , что бы получилось вот так: media_portal_dle.jpg ? Знаю что будет вопрос типо если будет загружена картинка с наким же именем. Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg. Вот собственно и всё. Цитата Ссылка на сообщение Поделиться на других сайтах
flo.mAster 7 Опубликовано: 5 ноября 2007 Рассказать Опубликовано: 5 ноября 2007 Автор Ну, что? Цитата Ссылка на сообщение Поделиться на других сайтах
ReviX 0 Опубликовано: 5 ноября 2007 Рассказать Опубликовано: 5 ноября 2007 ну ничего engine/inc/files.php $file_prefix = time()."_site.ru_"; Цитата Ссылка на сообщение Поделиться на других сайтах
flo.mAster 7 Опубликовано: 5 ноября 2007 Рассказать Опубликовано: 5 ноября 2007 Автор Не получается всё равно 1194271889_dle.jpg. Сделал я вот так: $file_prefix = time()."_portal_"; Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 Не понимаю нафига это делать. Это сделано, чтобы не было совпадающих имён файлов. Или Вы собираетесь помнить названия всех загруженных файлов, чтобы не накосячить? Цитата Ссылка на сообщение Поделиться на других сайтах
flo.mAster 7 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 Автор Знаю что будет вопрос типо если будет загружена картинка с наким же именем. Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg Цитата Ссылка на сообщение Поделиться на других сайтах
Umbrellа 0 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg А если в папке около двух тысяч картинок, скрипт будет брабатывать поиск по регулярному выражению применяя шаблон к каждому имени файла. Да даже если простой функцией strpos() обрабатывать такое количество - это очень и очень накладно. Цитата Ссылка на сообщение Поделиться на других сайтах
romen 1 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg А если в папке около двух тысяч картинок, скрипт будет брабатывать поиск по регулярному выражению применяя шаблон к каждому имени файла. Да даже если простой функцией strpos() обрабатывать такое количество - это очень и очень накладно. хм а смысл если в базу все пишется. ну добавится один select при загрузке картинок по поиску имени - это млин не так страшно это ведь не при отображении короткой новости запрос добавлять.... Цитата Ссылка на сообщение Поделиться на других сайтах
Umbrellа 0 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 Да любой из вариантов нагружает: Достаём всё из БД и ищем фунцкией in_array(). Второй вариант, твой: Достаём из БД картинку LIKE или WHERE. И опять же, если записей там несколько тысяч, запрос займёт не одну секунду. Мой лично вариант, это кое что изменить в файле images.php и порядок. define('FOLDER_PREFIX', date("Y-m")); на define('FOLDER_PREFIX', date("Y-m-d")); Цитата Ссылка на сообщение Поделиться на других сайтах
romen 1 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 Да любой из вариантов нагружает: Достаём всё из БД и ищем фунцкией in_array(). Второй вариант, твой: Достаём из БД картинку LIKE или WHERE. И опять же, если записей там несколько тысяч, запрос займёт не одну секунду. Мой лично вариант, это кое что изменить в файле images.php и порядок. define('FOLDER_PREFIX', date("Y-m")); на define('FOLDER_PREFIX', date("Y-m-d")); я в шоке. Достаём всё из БД и ищем фунцкией in_array(). - полный бред Второй вариант, твой: Достаём из БД картинку LIKE или WHERE. - ну почти where images like '%$inserts' -- и если создать индекс по полю в базе - то даже не заметишь даже если записей несколько тысяч даже миллионов. and date between НАЧАЛО МЕСЯЦА AND текущее время -- дополнительное условие на выборку - нафиг нам старье в других папках конечно вообще сама идея - бредовая и не нужная... Но, как я говорил, реализуемо практически все, в рамках разумного. Цитата Ссылка на сообщение Поделиться на других сайтах
Umbrellа 0 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 romen, я бы сделал проще: Допустим префикс нам нужен такой: my_cool_site. Так вот: my_cool_site_1454164_image_name.jpg И никаких лишних запросов. Цитата Ссылка на сообщение Поделиться на других сайтах
romen 1 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 romen, я бы сделал проще: Допустим префикс нам нужен такой: my_cool_site. Так вот: my_cool_site_1454164_image_name.jpg И никаких лишних запросов. согласен абсолютно!!!! но темокреатору другое хочется. в общем пусть фломастер сам решает.... Цитата Ссылка на сообщение Поделиться на других сайтах
flo.mAster 7 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 Автор ыыы., а как сделать my_cool_site_1454164_image_name.jpg ??? Цитата Ссылка на сообщение Поделиться на других сайтах
Umbrellа 0 Опубликовано: 6 ноября 2007 Рассказать Опубликовано: 6 ноября 2007 (изменено) Не тестировал, но полагаю: $file_prefix = time()."_"; заменить на: $file_prefix = 'my_cool_site_'.time()."_"; И лично тебе, что бы было легче разобраться, как и что тут: ///////////////////////////////////////////////////////////////////////// $file_prefix = 'my_cool_site'; // Приставка $file_prefix .= '_'; // Разделитель имени от даты $file_prefix .= time()."_"; // Ну и остальное, что и было в DLE ///////////////////////////////////////////////////////////////////////// Изменено 6 ноября 2007 пользователем Umbrellа Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.