2016-11-03 8 views
0

Я использую рамки laravel 5.2. Я использую dropzone для нескольких изображений. Все изображения успешно сохраняются в сеансе. Теперь проблема заключается в том, что, когда я доступ к этой конкретной сессии в другой функции, она дает мне пустой результат вот мой файл Балде и функциисеанс становится пустым при доступе к другой функции

enter code here 
<---Dropzone--> 
<div class="modal-body"> 
      <div class="dropzone-img"> 
       <form id="my-awesome-dropzone" action="{{ url('/add-images')}}" class="fallback dropzone"> 
          {{ csrf_field() }} 

      </div> 
     </div> 

Теперь мой контроллер, имеющий две функции

enter code here 
public function add_images(Request $request){ 
    if($request->ajax()){ 
     $image=$_FILES['file']; 
     if(!empty($image)){ 
      if($image['error']==0){ 
       $imgName = pathinfo($_FILES['file']['name']); 
       $ext = $imgName['extension']; 
       $rand=mt_rand(5,1000000000).'.'.$ext; 
       $destination=realpath('../public/images/ListingImages').'/'; 
       if(move_uploaded_file($image['tmp_name'], $destination.$rand)){ 
        $request->session()->put('businessimages.'.$imgName['filename'].'.image',$rand); 
        $images = $request->session()->get('businessimages'); 
        echo "<pre>"; print_r($images); die; 
       } 
      } 
     } 
    } 
} 

Now when i accessed the businessimages session in another function it gives me empty result. 

public function business_for_sale(Request $request){ 
    $images = $request->session()->get('businessimages'); 
    echo "<pre>"; print_r($images); die; 
} 

Может кто-нибудь мне помочь. Заранее спасибо :)

ответ

2

Я думаю, что проблема для вас вызвать функцию штампа() при установке сеанса

$request->session()->put('businessimages.'.$imgName['filename'].'.image',$rand); 
$images = $request->session()->get('businessimages'); 
echo "<pre>"; print_r($images); die; 

Вы могли видеть это Does die() end your session in PHP?

Таким образом, вы могли бы попытаться изменить это похоже на

$request->session()->put('businessimages',$rand); 
$images = $request->session()->get('businessimages'); 
echo "<pre>"; print_r($images); 
session_register_shutdown(); 
die; 
+0

спасибо Xposl работает как шарм :) у вас также есть одна ошибка, которую вы удаляете в ответ на ваш ответ – kunal

+0

Это потому, что вы Ключ здесь другой. Вы должны установить его, используя ключевое имя businessimages '$ request-> session() -> put ('businessimages', $ rand);' и использовать одно и то же ключевое имя '$ request-> session() -> get ('businessimages «)'; – Xposl