2017-08-09 21 views
-1

私は現在のUserオブジェクトで画像を保存しています。私は配列のファイルの配列を解析しようとしていますが、filenameというオブジェクトキーを取得しようとしています。ファイルを解析しようとしたときに、SplFileInfoとの間にエラーが発生しました。

私は現在、このファイル配列中2枚の画像があります。それならば

filename: "oIWVAvlOyG9yMzhhvTFoYX2wGNTa2pEth7gb228Z.png"

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

各配列のキーは、オブジェクトを持っており、そのオブジェクトに私は、ファイル名のキーを探していますが本当に問題ですが、私のコードは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

これは間違いなく、他の人がオリジナルを見つけるはずです: [https://stackoverflow.com/questions/8813643/how -to-use-php-all-the-specific-specific-folderという名前のフォルダ – clusterBuddy

関連する問題