2015-10-19 53 views
0

如何從使用pdf的數組匹配中獲取元素? 這是我的代碼。我得到一個'38 .pdf'值。但我需要38.pdf和39.pdf。從數組匹配中獲取元素與文件擴展匹配

$encrypt    = md5(Auth::user()->id.$selectFile->created_at); 
$directories   = Storage::files($encrypt); 
// dd($directories)          
foreach($directories as $values){ 
$split_folder_file = explode('/', $values); 
$splitted_file  = end($split_folder_file); 
$userdata   = 'userdata'; 
$filenameresult = storage_path().'/'.$userdata.'/'.$encrypt.'/'.$splitted_file; 
return response()->download($filenameresult, $splitted_file, ['Content-Type' => 'application/pdf']); 
} 

結果的dd(目錄)是

array:3 [ 
     0 => "30e9734e1f06bf751da5b3289994fb3f/38.pdf" 
     1 => "30e9734e1f06bf751da5b3289994fb3f/39.pdf" 
     2 => "30e9734e1f06bf751da5b3289994fb3f/Profile.jpg" 
    ] 

回答

0

你可以先顯示一個頁面,就像鏈接:

===========

您有2個可下載的PDF文件:

<a>38.pdf</a> 
<a>39.pdf</a> 
. 
. 
. 

=============

,並在用戶點擊它會重定向到代碼的鏈接:

return response()->download(
    $filenameresult, $splitted_file, ['Content-Type' => 'application/pdf'] 
); 
0

可以使用preg_grep例如。它將返回一個數組與匹配

$pdf = preg_grep('/\/.*\.pdf$/', $directories); 
print_r($pdf);