Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]foreach array JPG PNG GIF
Forum PHP.pl > Forum > Przedszkole
casperii
Panowie mam pętle foreach w której sprawdzam, czy dane rozszerzenie z tablicy array znajduje się na serwerze:

  1. foreach(array('png','jpg','gif') as $ext) {
  2. if(file_exists(''.dbfile().'/images/obrazek.'.$ext)){
  3. $obrazek = true;
  4. $typ_obrazek = $ext;
  5. break;
  6. }else{
  7. $obrazek = false;
  8. break;
  9. }
  10.  
  11. //var_dump($typ_obrazek);
  12. }


w jaki sposób mogę teraz dopisać do zmiennej typ_obrazek rozszerzenie które zostało dopasowane?
Korzystając z okazji chciałbym się dowiedzieć, czy jest sens dopisać do tablicy array rozszerzeń JPG, PNG, GIF ? czy po prostu przy wrzucaniu na serwer zamieniać wszystkie znaki na małe literki ?
trueblue
  1. $exts = [];
  2. foreach(glob(dbfile() . '/images/obrazek.{jpg,png,gif}', GLOB_BRACE) as $filename){
  3. $exts[] = pathinfo($filename, PATHINFO_EXTENSION);
  4. }
  5.  
  6. print_r($exts);
casperii
@trueblue dzięki za przykład, ale czy na moim przykładzie nie da się tego zrobić? Zauważ , że w moim przykładzie oprócz sprawdzenia rozszerzenia obrazka , muszę sprawdzić czy jest true czy false (tzn. czy istnieje czy nie istnieje)
trueblue
A jeśli plik nie istnieje, to myślisz, że w tablicy znajdzie się jego rozszerzenie?
W tablicy $ext masz rozszerzenia plików (bo może być kilka o tej samej nazwie, a różnym rozszerzeniu).
casperii
@trueblue Jeśli plik nie istnieje, to nie potrzebuje znać rozszerzenia smile.gif
Chodzi o to by sprawdzić czy plik istnieje - istnieje przekazuje true do TPL , ale teraz w TPL muszę wstawić rozszerzenie - ale żeby je wstawić muszę wiedzieć co smile.gif

Dobra, problem naprawiony:
jednak wystarczyło samo:
  1. $typ_obrazek = $ext;
trueblue
Cytat(casperii @ 2.06.2018, 16:39:29 ) *
@trueblue Jeśli plik nie istnieje, to nie potrzebuje znać rozszerzenia smile.gif

To dobrze, bo i tak byś go nie poznał.

Jeszcze raz. W tabeli $ext masz rozszerzenia znalezionych plików. Jeśli plik o jakimkolwiek z tych rozszerzeń nie istnieje, to tablica jest pusta.
Czyli istnienie rozszerzenia w tablicy świadczy o tym, że plik istnieje - masz dwie informacje w jednym.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.