liipImage_filter в контроллере Symfony на непубличном пути

Есть ли способ использовать liip imag_filter без копирования источника изображения на общедоступный путь? Я не вижу, как должны быть настроены преобразователи / загрузчики для загрузки изображений из непубличного местоположения файла и их хранения аналогичным образом.

Я определил фильтр водяного знака с изображением водяного знака, размещенным вне общедоступного пути, что работает без проблем. Но применяется ТОЛЬКО к изображениям, размещенным НА общедоступном пути.

Я использую Symfony 5 и liip /Image-bundle: ^ 2.6


person user3440145    schedule 26.04.2021    source источник


Ответы (1)


У меня та же проблема, что и у вас, и я нашел это решение, конечно, это небольшой обходной путь, но он работает очень хорошо. Поэтому я копирую файл с $remoteWatermak на сервер. если установлен $localWatermark, я проверяю, существует ли файл.

$arrContextOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
);

if($localWatermark){

    $filesystem = new Filesystem();
    if(!$filesystem->exists($localWatermark)){
        $contents = file_get_contents($remoteWatermark,false,
            stream_context_create($arrContextOptions)); // get file

        file_put_contents($localWatermark , $contents);

    }

}else{
    $contents = file_get_contents($remoteWatermark,false,
        stream_context_create($arrContextOptions)); // get file

    $file = "uploads/watermarks/" . uniqid();
    file_put_contents($file , $contents);

    $localWatermark = $file;
}
person giovybus    schedule 01.05.2021