2017-08-09 65 views
-1

我正在用当前用户对象保存图像,即使我没有产生任何想要的结果。我试图解析一个文件数组,我试图获取名为filename的对象键。试图解析文件,收到与SplFileInfo有关的错误

我现在有这个文件阵列2个图像:

array:2 [▼ 
    0 => SplFileInfo {#219 ▶} 
    1 => SplFileInfo {#220 ▶} 
] 

每个数组键都有一个对象,该对象我要找的文件名键:

filename: "oIWVAvlOyG9yMzhhvTFoYX2wGNTa2pEth7gb228Z.png"

如果真的很重要,我的代码在Laravel 5.4的控制器上:

public function index(Request $request) 
    { 
     $user = Auth::user(); 
     $userImagesPath = public_path().'\\storage\\'.$user->email; 
     $userImagesArray = File::allFiles($userImagesPath); 
     $contents =[]; 
     $fileNameArray = []; 
     foreach ($userImagesArray as $file){ 
      $contents[] = $file; 
      foreach ($contents as $fileName){ 
       $fileNameArray[] = $fileName->filename; 
      } 
     } 
     dd($fileNameArray); 
     return view('sharmutaView') 
      ->with('user', $user); 
    } 

我收到一个错误:Undefined property: Symfony\Component\Finder\SplFileInfo::$filename,这清楚地告诉我我没有正确解析。

+1

似乎根据该文档是正确的(http://php.net/manual/en/class.splfileinfo.php)。当你使用getFilename函数时它工作吗? http://php.net/manual/en/splfileinfo.getfilename.php –

回答

1

userImagesArray是您提供了的数组?

尝试这种情况:

public function index(Request $request) 
    { 
     $user = Auth::user(); 
     $userImagesPath = public_path().'\\storage\\'.$user->email; 
     $userImagesArray = File::allFiles($userImagesPath); 
     $fileNameArray = []; 
     foreach ($userImagesArray as $file){ 
       $fileNameArray[] = $file->getFilename(); 
      } 
     } 
     dd($fileNameArray); 
     return view('sharmutaView') 
      ->with('user', $user); 
    } 
+0

这是正确的,它应该是其他人在这里找到原来的: [link to original]:https://stackoverflow.com/questions/8813643/how -to-使用的PHP到回收 - 所有的文件名功能于一个特定的文件夹 – clusterBuddy