2016-11-03 38 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

我認爲這個問題是你調用die()函數,當你設置會話

$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