2016-07-15 34 views
10

Próbowałem uzyskać rozszerzenie z przesłanego pliku, szukając google, nie mam żadnych wyników.Pobierz rozszerzenie obrazu z przesłanego pliku w Laravel

Plik już istnieje w ścieżce:

\Storage::get('/uploads/categories/featured_image.jpg); 

Teraz Jak mogę uzyskać przedłużenie tego pliku powyżej?

Korzystanie z pól wejściowych można uzyskać przedłużenie takiego:

Input::file('thumb')->getClientOriginalExtension(); 

Dzięki.

Odpowiedz

9

Można użyć funkcji pathinfo() wbudowany w PHP, które:

$info = pathinfo(storage_path().'/uploads/categories/featured_image.jpg'); 
$ext = $info['extension']; 

lub więcej zwięźle można przekazać opcja get get bezpośrednio;

$ext = pathinfo(storage_path().'/uploads/categories/featured_image.jpg', PATHINFO_EXTENSION); 
13

laravel sposób

Spróbuj tego:

$foo = \File::extension($filename); 
+0

Dzięki, @Alfredo EM. Próbowałem, ale po prostu dostałem "". Powyższe rozwiązanie działa dobrze. –

+0

$ rozszerzenie = \ Plik :: rozszerzenie ('/ uploads/categories/featured_image.jpg') naprawdę nie działa = (? –

+0

Otrzymuję pustą wartość val. Powinien działać? –

5

Jeśli chcesz tylko rozszerzenie, można użyć pathinfo:

$ext = pathinfo($file_path, PATHINFO_EXTENSION); 
4

Jeszcze innym sposobem, aby to zrobić:

//Where $file is an instance of Illuminate\Http\UploadFile 
$extension = $file->getClientOriginalExtension(); 
+0

to jest dla laravel v 5 –

2
//working code from laravel 5.2 

public function store(Request $request) 
{ 
      $file = $request->file('file'); 
      if($file) 
      { 
        $extension = $file->clientExtension(); 
      } 
      echo $extension; 
} 
0

Testowane laravel 5,5

$extension = $request->file('file')->extension(); 
+0

Dziękuję za poświęcenie czasu na udzielenie odpowiedzi, ponieważ dzięki pomocnym rówieśnikom takim jak Ty możemy razem uczyć się jako społeczność Oto kilka wskazówek, jak ulepszyć odpowiedź: [Jak napisać dobrą odpowiedź] (https://stackoverflow.com/help/how-to-answer). – Brien

Powiązane problemy