2016-02-16 2 views
1

У меня есть приложение, в котором я должен загружать файлы через цикл. Он загружает первый файл, но он дает ошибку, что file "" does not exist. Ниже приведен массив, в котором я получаю файлы.Загрузка файлов в цикле

enter image description here

и Ниже след за ошибки.

enter image description here

Любая идея, что мне не хватает или что может быть проблема?

UPDATE:

for($i=0; $i <=count($form_data['image']['files'])-1; $i++) { 

    $file = $form_data['image']['files'][$i]; 
    $file_name = $file->getClientOriginalName(); 

    $file->move("campaigns/$campaign->id/$package/images", $file_name); 

} 
+1

Отправьте код из 'CheckoutController', который отвечает за обработку. Мы не можем догадаться, что не так с вашим кодом, если мы не опубликуем его. – Bogdan

+0

@ код контроллера Bogdan добавлен. –

+0

попробуйте ($ i = 0; $ i paranoid

ответ

0

Наконец установил ее. Вот мое предыдущее действие контроллера, которое не работало.

public function done(Request $request){ 
    $packages = ['instagram', 'facebook', 'twitter']; 
    foreach($packages as $package){ 
     // this is the line which was creating the problem 
     $form_data = $request['contents'][$package]; 
     for($i=0; $i <=count($form_data['image']['files'])-1; $i++) { 
      $file = $form_data['image']['files'][$i]; 
      $file_name = $file->getClientOriginalName(); 
      $file->move("campaigns/$campaign->id/$package/images", $file_name); 
     } 
    } 
} 

Чтобы устранить проблему, просто присвойте переменную запроса другой переменной. Это связано с тем, что запрос обрабатывает файлы в первом цикле, а затем не может найти файлы для других атрибутов на следующей итерации.

public function done(Request $request){ 
    $packages = ['instagram', 'facebook', 'twitter']; 
    // Fixed it with this line 
    $contents = $request['contents']; 
    foreach($packages as $package){ 
     $form_data = $contents[$package]; 
     for($i=0; $i <=count($form_data['image']['files'])-1; $i++) { 
      $file = $form_data['image']['files'][$i]; 
      $file_name = $file->getClientOriginalName(); 
      $file->move("campaigns/$campaign->id/$package/images", $file_name); 
     } 
    } 
} 
Смежные вопросы