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