Перейти к публикации

Имя загруженного изображения


Рекомендованные сообщения

Я заметил(давно) что к названию изображения добавляюся цифры, пример: 1194271889_dle.jpg . Как изменить 1194271889 вот это перед названием файла? На другое, кпримеру на media_portal , что бы получилось вот так: media_portal_dle.jpg ? Знаю что будет вопрос типо если будет загружена картинка с наким же именем. Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg.

Вот собственно и всё.

Ссылка на сообщение
Поделиться на других сайтах

Не получается всё равно 1194271889_dle.jpg. Сделал я вот так: $file_prefix = time()."_portal_";

Ссылка на сообщение
Поделиться на других сайтах

Не понимаю нафига это делать.

Это сделано, чтобы не было совпадающих имён файлов.

Или Вы собираетесь помнить названия всех загруженных файлов, чтобы не накосячить?

Ссылка на сообщение
Поделиться на других сайтах

Знаю что будет вопрос типо если будет загружена картинка с наким же именем. Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg

Ссылка на сообщение
Поделиться на других сайтах

Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg

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

Да даже если простой функцией strpos() обрабатывать такое количество - это очень и очень накладно.

Ссылка на сообщение
Поделиться на других сайтах

Ответ: если будет такое имя, то что бы имя файла менялось на media_portal_dle_2.jpg или media_portal_dle(2).jpg

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

Да даже если простой функцией strpos() обрабатывать такое количество - это очень и очень накладно.

хм а смысл если в базу все пишется. ну добавится один select при загрузке картинок по поиску имени - это млин не так страшно это ведь не при отображении короткой новости запрос добавлять....

Ссылка на сообщение
Поделиться на других сайтах

Да любой из вариантов нагружает:

Достаём всё из БД и ищем фунцкией in_array().

Второй вариант, твой: Достаём из БД картинку LIKE или WHERE.

И опять же, если записей там несколько тысяч, запрос займёт не одну секунду.

Мой лично вариант, это кое что изменить в файле images.php и порядок.

define('FOLDER_PREFIX', date("Y-m")); на define('FOLDER_PREFIX', date("Y-m-d"));

Ссылка на сообщение
Поделиться на других сайтах

Да любой из вариантов нагружает:

Достаём всё из БД и ищем фунцкией in_array().

Второй вариант, твой: Достаём из БД картинку LIKE или WHERE.

И опять же, если записей там несколько тысяч, запрос займёт не одну секунду.

Мой лично вариант, это кое что изменить в файле images.php и порядок.

define('FOLDER_PREFIX', date("Y-m")); на define('FOLDER_PREFIX', date("Y-m-d"));

:blink:

я в шоке.

Достаём всё из БД и ищем фунцкией in_array(). - полный бред

Второй вариант, твой: Достаём из БД картинку LIKE или WHERE. - ну почти

where images like '%$inserts' -- и если создать индекс по полю в базе - то даже не заметишь даже если записей несколько тысяч даже миллионов.

and date between НАЧАЛО МЕСЯЦА AND текущее время -- дополнительное условие на выборку - нафиг нам старье в других папках

конечно вообще сама идея - бредовая и не нужная... Но, как я говорил, реализуемо практически все, в рамках разумного.

Ссылка на сообщение
Поделиться на других сайтах

romen, я бы сделал проще:

Допустим префикс нам нужен такой: my_cool_site.

Так вот:

my_cool_site_1454164_image_name.jpg

И никаких лишних запросов.

Ссылка на сообщение
Поделиться на других сайтах

romen, я бы сделал проще:

Допустим префикс нам нужен такой: my_cool_site.

Так вот:

my_cool_site_1454164_image_name.jpg

И никаких лишних запросов.

согласен абсолютно!!!!

но темокреатору другое хочется.

в общем пусть фломастер сам решает....

Ссылка на сообщение
Поделиться на других сайтах

Не тестировал, но полагаю:

$file_prefix = time()."_";
заменить на:
$file_prefix = 'my_cool_site_'.time()."_";
И лично тебе, что бы было легче разобраться, как и что тут:
/////////////////////////////////////////////////////////////////////////

$file_prefix   = 'my_cool_site';  // Приставка

$file_prefix  .= '_';			 // Разделитель имени от даты

$file_prefix  .= time()."_";	  // Ну и остальное, что и было в DLE

/////////////////////////////////////////////////////////////////////////

Изменено пользователем Umbrellа
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...