Поступила мне тут очень интересная задача. Контентщики 2 недели собирали табличку с описанием всех характеристик (по каждой позиции по 10+ фотографий) и все фотографии грузили на гугл-диск, а в табличку вставляли ссылки из "поделиться" на эти изображения.
Такие ссылки напрямую не скачиваются (защита от гугла:) ), поэтому пришлось немного изворачиваться:)
Вся обработка ссылок сводится к такому достаточно простому классу:
use Bitrix\Main\Application; class processSpecifications { var $fileId; var $destinationFile; var $coockieFile; function __construct($filePath) { if(strpos($filePath,'/file/d/')===false) die('Wrong file name: '.$filePath); $this->fileId = current(explode('/',array_pop(explode('/file/d/',$filePath)))); $this->destinationFile = Application::getDocumentRoot().'/upload/tmp/'.$this->fileId.'.jpg'; $this->coockieFile = Application::getDocumentRoot().'/upload/tmp/coockie'; } function downloadFile(){ // Скачиваем файл для получения кода подтверждения $curlCommand = "curl -sc {$this->coockieFile} 'https://drive.google.com/uc?export=download&id={$this->fileId}' > /dev/null"; exec($curlCommand); // Извлекаем код подтверждения из файла cookie $awkCommand = "awk '/_warning_/ {print \$NF}' {$this->coockieFile}"; $code = exec($awkCommand); // Скачиваем файл с использованием кода подтверждения $downloadUrl = "https://drive.google.com/uc?export=download&confirm={$code}&id={$this->fileId}"; $curlCommand = "curl -Lb {$this->coockieFile} '{$downloadUrl}' -o {$this->destinationFile}"; exec($curlCommand); print($this->destinationFile); } }
Пример обработки фото:
$gdriveGetFile = new \Ninelines\processSpecifications('https://drive.google.com/file/d/а_тут_тот_самый_идентификатор/view?usp=sharing'); $gdriveGetFile->downloadFile();
Осталось дальше это изображение уже сохранить куда нужно и удалить временное:)
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.