2015-10-19 52 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);