2017-08-09 29 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