Convert Image All

Convert Image All 6.7

Нет прав для скачивания
Народ, подскажите :
1. конфликтов не замечено с другими плагинами?
2. изображения которые загружены на внутреннем сервере /data/... он обходит стороной, работая только с внешними?
 
Обойти это никик нельзя, что бы не требовались данные функции ?
Можно, для этого используется расширение , но код придется переписать, сейчас хак заточен только под прямой вызов бинарников
PHP:
if ($envPath == '')
        {
            $convertPath = '/usr/bin/convert';
            $identifyPath = '/usr/bin/identify';
        }
        else
        {
            $convertPath = $envPath . 'convert';
            $identifyPath = $envPath . 'identify';
        }

PHP:
if ($width > $attachmentMaxWidth)
                            {
                                exec("$convertPath $tempFullPath -resize $attachmentMaxWidth\x $tempFullPath");
                           
                                // get new image size
                                list($width, $height) = getimagesize($tempFullPath);
                            }
 
  • Мне нравится
Реакции: Hope
Hope, а что на данном форуме не установлен такой плагин? А то, я что-то уже запарился сохранять себе на Пк )))
 
Последнее редактирование модератором:
Hope, а что на данном форуме не установлен такой плагин? А то, я что-то уже запарился сохранять себе на Пк )))
На данном форуме, все изображения заливаются на сервер и нет со сторонних ресурсов, значит и конвертировать не чего :)
 
  • Мне нравится
Реакции: Hope
Основная проблема как у этого хака, так и у Convert Image начинается с кода
PHP:
                        // get internal_data path
                        $internalDataPath = XenForo_Helper_File::getInternalDataPath();
                       
                        // get data path                  
                        $externalDataPath = XenForo_Helper_File::getExternalDataPath();                      
                       
                        // define full path
                        $attachmentFullPath = $internalDataPath . '/attachments/' . $lastfolder . '/' . $dataId . '-' . $filehash . '.data';
И дальше файл сохраняется по пути $attachmentFullPath

Пока файлов будет сотенка-другая, это не представляет проблем. Но если это вырастет до сотенки-другой тысяч файлов (и все это в одной директории) - то большинство популярных fs начнет медленно деградировать даже по чтению. С расходом памяти, нагрузкой проца и другими спецэффектами.

Но! Если кто перепишет плагин под хранение файлов, раскидывая их по паре уровней из директорий (что вполне достаточно (по опыту) для семизначного числа файлов), т.е. attachments/1/4/блаблаба.data, то этот плагин станет вполне юзабельным.
 
Плагин, несомненно хорош, но imagemagic не всегда бывает возможен, как, в принципе и exec(). Так что, если уж переписывать, то что-то другое или чтобы не был завязан на эти моменты ;)
 
но imagemagic не всегда бывает возможен
Это хостер не всегда возможен, imagick идет к php вполне стандартным модулем и на большинстве систем ставится из репозитория одной командой.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу