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 :: Пакетное изменение размеров файлов и переименование в MD5

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
con
Отправлено: 13 Июля, 2019 - 12:25:58
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2019  


Помог: 0 раз(а)




Всем доброго!
Помогите пожалуйста написать код, который пакетно изменит размеры изображений в двух вариантах, переименует эти изображения в MD5 и создаст для каждого варианта изобаржения приставку _big и _mini.
Изображение с приставкой _big должно быть 200*200px
Изображение с приставкой _mini должно быть 100*100px

Исходные изображения удалять не нужно.
Готовые файлы можно переместить в папку ( например /img/resize/ ) или оставить в том же каталоге.

Пример:
В каталоге /img/ есть 2 изображения с разными расширениями (указал рядом в скобках) и названиями на кириллице и латинице:
example_1.jpg (400px*200px)
пример_2.jpg (150px*80px)

В результате работы скрипта нужно получить 4 файла:
→ Для example_1.jpg
1) f6e11dccb3340f1f77c4845d95b119e1 _big.jpg
2) f6e11dccb3340f1f77c4845d95b119e1 _mini.jpg

→ Для пример_2.jpg
1) 50aaf85e4bc392af85f04bba10cbd0eb _big.jpg
2) 50aaf85e4bc392af85f04bba10cbd0eb _mini.jpg

То есть в MD5 переименовывается только название без разширения файла ( example_1 и пример_2)
Буду рад вашей помощи!
 
 Top
LIME
Отправлено: 13 Июля, 2019 - 13:51:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Код не дам
Ну лениво елки палки
Подскажу только принцип
Хэшировать надо не имена а содержание
Тогда можно не хранить копии под разными именами
Вообще-то лучше файловый хостинг сделать отдельным сервисом
Кропать надо асинхронно
Думаю достаточно кинул дерьма на вентилятор
Пора убегать
Гуглиииии
(Добавление)
Вообще-то это целое дело
Посмотри в сторону готовых решений
Раньше предложил бы Амазон
Спасибо Яровой теперь это невозможно
У нас собственный медиахостинг
Гугли что есть в России для этого
 
 Top
con
Отправлено: 13 Июля, 2019 - 13:56:21
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2019  


Помог: 0 раз(а)




Спасибо, буду гуглить дальше)
 
 Top
LIME
Отправлено: 13 Июля, 2019 - 18:35:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Гугли crop
 
 Top
con
Отправлено: 13 Июля, 2019 - 18:39:02
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2019  


Помог: 0 раз(а)




LIME пишет:
Гугли crop

Ок. Я уже понял, что своими силами в лучшем случае напишу скрипт, что просто перекодирует имя файла в md5. Остальное буду делать сторонним софтом.
Я же правильно понимаю, что для этого нужен такой алгоритм:
1. Прочитать имя файла;
2. Присвоить это имя переменной;
2.1 Перекодировать имя в MD5 и присвоить его второй переменной;
3. Найти файл в каталоге с именем, которое соответствует тому, что записали в шаге 2. И если оно совпадает
4. Перекодировать имя, которое присвоили переменной в шаге 2.1
5. Переименовать файл

Или сильно мудрено?

(Отредактировано автором: 13 Июля, 2019 - 18:49:22)

 
 Top
LIME
Отправлено: 13 Июля, 2019 - 21:36:40
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Мудрено? ))
Нет
Сильно упрощено
Перечитай выше
Вообще-то хостинг файлов это не тривиальная задача
Пока делай как умеешь
Набивай шишки
Намекну например
Что если их будет очень много? Inodes даже могут закончится
Значит шардирование
Значит функция шардинга
Ойй
Начать и кончить
(Добавление)
Пока делай как проще
Но знай что это сложно
Пс: буквально сейчас на мне висит задача рефакторинга файлхостинга где файлов чуть более ярда
Это жесть
Радуйся пока можешь))
(Добавление)
Я не за сторонний софт
Я за включить голову
Погугли потом решай что тебе лучше
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB