Intereting Posts
Разница между веб-сервером и контейнером сервлетов как вызвать функцию в PHP через 10 секунд загрузки страницы (не используя HTML) Как определить, где определена функция? Что такое jQuery Music Player, который загружает песни из базы данных mysql? Программно получить список всех способов доставки Расширение статических классов PHP Преобразование Mysql Timestamp во времени с момента размещения Получение непрочитанной почты из веб-сервисов обмена через PHP Как я могу использовать XPath для выполнения поиска без учета регистра и поддержки неанглийских символов? Как веб-сайт должен обрабатывать сбой базы данных Как Laravel может отражать другой сайт, размещенный на одном сервере? Как получить дочерний объект PHP DOMDocument по индексу Несъемный текст авторского права в нижнем колонтитуле Как заставить его запустить команду `exec ()` в PHP для редактирования некоторого файла в Mac OS X? Laravel не запоминает переменные класса

Не удалось загрузить файл из плагина WordPress на сервер symfony по API?

Мой проект состоит из двух частей

  • wordpress frontend
  • Поддержка Symfony

Я пытаюсь вызвать API проекта backend symfony из плагина WordPress для хранения некоторых данных в бэкэнд. все текстовые данные сохраняются, но когда я пытаюсь отправить файлы изображений, они не сохраняются в бэкэнд. Я знаю, что это сложный бизнес, но я действительно ищу решение.

для загрузки изображений мы делаем следующие шаги

  1. мы временно загружаем изображения в нашу папку для загрузки WordPress
  2. то мы отправляем эти файлы в наш запрос при вызове api
  3. Symfony backend API получает запрос и загружает изображения соответственно

вот мой код переднего конца WordPress и его переменная запроса:

$localUploadPath = dirname(__DIR__).DIRECTORY_SEPARATOR.'uploads'; $randomDir = Helper::randomDirName(); $uploadedAssets = Files::uploadPassAssets( $localUploadPath , $randomDir ); $request = new Request(); $submitedValues = $request->all(); $request->files($uploadedAssets); $groupArray = $request->getGroups(); //remote files upload $remoteFiles = array(); foreach($uploadedAssets as $fieldName => $imageFiles){ $imageWithPath = $localUploadPath.'/'.$randomDir.'/'.$imageFiles; $remoteFiles[$fieldName.'File'] = '@'.realpath($imageWithPath); } $client = new ClientApi(PASSBUILDER_ADDPASS_UPLOAD_URL); $client->setFiles($remoteFiles); $uploadResponse = $client->getResponse(); $this->rrmdir($localUploadPath.'/'.$randomDir); 

запрос на api:

 { ["appearance_logoNameFile"]=> string(149) "@/home/public_html/ads/wp-content/plugins/passbook-app/uploads/4e1020ee2b0dda294c746b5bb5acc0bd/26f27e532c874b63dca651dec4553b20ca237a44.png" ["appearance_eventTicketStripFile"]=> string(149) "@/home/public_html/ads/wp-content/plugins/passbook-app/uploads/4e1020ee2b0dda294c746b5bb5acc0bd/7354f12e6d185eee8142268b32eea6a055036d35.png" ["generalid"]=> string(32) "4ba11ffe3f2b8a46626632b48b38fcaf" ["pass_id"]=> int(198) ["email"]=> string(17) "sample@unknown.com" } 

изображения физически сохраняются в папке загрузки WordPress, а также отправляются через api, но наш бэкэнд не собирает изображения и не загружает их

вот наш бэкэнд-код symfony:

 public function createpassuploadAction(Request $request){ $data = $request->request->all(); $helper = $this->get('passbook.passhelper'); $webDir = $helper->webDir; $passId = $data['pass_id']; $userEmail = $data['email']; $generalid = $data['generalid']; $filesResult = array(); $filesBag = $request->files->all(); foreach ($filesBag as $file){ $filename = $file->getClientOriginalName(); $filesResult []= array( 'path' => $file->getPathname(), 'url' => 'ddd' ); $src = $webDir.'/upload/'.$passId.'/'; $file->move( $src ,$filename ); } } 

Для записи этот код отлично работал 2 года назад, но он внезапно прекратил работу:

Я получаю эту ошибку

 request.INFO: Matched route "curd.api.pass.create.uploads" (parameters: "_format": "json", "_controller": "Cogilent\PassbookBundle\Controller\ApiController::createpassuploadAction", "_route": "curd.api.pass.create.uploads") [] [] [2017-06-04 04:57:07] security.INFO: Populated SecurityContext with an anonymous Token [] []