Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]substr() odliczanie znaków od końca
Forum PHP.pl > Forum > PHP
lDoran
  1. public static function getMinImages($catalogName)
  2. {
  3. $arFiles = FileManager::getFiles($catalogName);
  4. $counter = count($arFiles);
  5.  
  6. for($i = 0; $i < $counter; $i++)
  7. {
  8. if(substr($arFiles[$i], -12) == '-resized.jpg')
  9. $arNewFiles[$i] = $arFiles[$i];
  10. }
  11.  
  12. return $arNewFiles;
  13. }

wynik w przeglądarce:
Cytat
bg-wood-resized.jpg

blackwood-resized.jpg

onepoleTile-resized.jpg
pbd-body-resized.jpg

nie rozumiem dlaczego ale funkcja substr() nie czyta zbyt długich łańcuchów np. site-background-resized.jpg
krispak
  1. echo substr("site-background-resized.jpg", -12);

wynik
  1. -resized.jpg

jakos dziala i odczytuje..
lDoran
Nie rozumiem mam w tablicy arFiles zapisane i jakoś nie zapisuje zbyt dług ciągów do arNewFiles jeszcze pomęczę to
krispak
Tylko moim zdaniem dobrze to dziala, tylko powiedz co tak naprawde chcesz osiagnac i co ma byc zapisane w tablicy..
lDoran
metoda klasy FileManager::getFiles($catalogName) zwraca tablicę wszystkich zdjęć znajdujących się w katalogu:
Cytat
bg-wood-resized.jpg
bg-wood.jpg
blackwood-resized.jpg
blackwood.jpg
onepoleTile-resized.jpg
pbd-body-resized.jpg
pbd-body.jpg
site-background-resized.jpg
site-background.jpg
telePhone_poleTile.jpg
wood-resized.jpg
wood.jpg


natomiast metoda klasy Gallery z tej tablicy zapisuje do swojej tylko miniaturki zdjęć(czyli pliki z dopiskiem -resized.jpg)
  1. public static function getMinImages($catalogName)
  2. {
  3. $arFiles = FileManager::getFiles($catalogName);
  4. $counter = count($arFiles);
  5.  
  6. for($i = 0; $i < $counter; $i++)
  7. {
  8. if(substr($arFiles[$i], -12) == '-resized.jpg')
  9. echo $arNewFiles[$i] = $arFiles[$i] . '<br>';
  10. }
  11.  
  12. echo '<hr>';
  13.  
  14. return $arNewFiles;
  15. }

po czym zwraca nową tablicę $arNewFile
  1. //kod wyświetlający tablicę miniatur
  2. $arFiles = Gallery::getMinImages('web/gallery/wesela');
  3.  
  4. $counter = count($arFiles);
  5.  
  6. for($i = 0; $i < $counter; $i++)
  7. {
  8. echo $arFiles[$i] . '<br>';
  9. }

zwrócona tablica $arNewFiles
Cytat
bg-wood-resized.jpg


blackwood-resized.jpg


onepoleTile-resized.jpg

pbd-body-resized.jpg
krispak
Tak wyglada u Ciebie tablica z miniaturkami
  1. (
  2. [0] => bg-wood-resized.jpg
  3. [2] => blackwood-resized.jpg
  4. [4] => onepoleTile-resized.jpg
  5. [5] => pbd-body-resized.jpg
  6. [7] => site-background-resized.jpg
  7. [10] => wood-resized.jpg
  8. )

Zwroc uwage na jej klucze, gdzie ty wypisujesz lecac w petli po kolei zliczajac tablice $counter = 6 czyli 6 razy sie zapetli, pierwsze 4 sie zalapia smile.gif
Zamien kod wyświetlający tablicę miniatur na
  1. $arFiles = Gallery::getMinImages('web/gallery/wesela');
  2. foreach($arFiles as $value)
  3. {
  4. echo $value . '<br>';
  5. }
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.