Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zmiana jednej litery z wartości zmiennej - adres pliku
Forum PHP.pl > Forum > Przedszkole
php11
Hej smile.gif

Mam zmienną, która przedstawia ścieżkę do pliku graficznego $zdjecie = /katalog/fotka-1.jpg
Jak pobrać ostatni znak przed .jpg? W tym przypadku 1 i wyswietlić nowy adres pliku: /katalog/fotka-22.jpg.

Bardzo dziekuję za pomoc
mortus
  1. $zdjecie = 'sciezka/do/pliku/zdjecie-1.jpg';
  2. $filename = pathinfo($zdjecie, PATHINFO_FILENAME);
  3. $number = substr(strstr($filename, '-'), 1);

To będzie działać, jeśli w nazwie zdjęcia występuje tylko jeden znak myślnika -, a działa to w taki sposób, że wycina z nazwy pliku wszystko począwszy od tego znaku myślnika do końca, a później usuwa myślnik.

EDIT:
@down: Nie rozumiem o co chodzi z tym wyświetleniem nowego adresu. Skąd się bierze ta 22?
php11
Dzięki smile.gif

Niestety w międzyczasie edytowałem swój post. Zerkniesz?
mortus
Cytat(php11 @ 25.03.2012, 12:25:45 ) *
Dzięki smile.gif

Niestety w międzyczasie edytowałem swój post. Zerkniesz?

Ale nową nazwę pliku albo masz, albo budujesz za pomocą zwykłej konkatenacji, czyli łączenia łańcuchów znakowych za pomocą kropki. Zobacz jakie możliwości daje Ci funkcja pathinfo(), bo z jej pomocą i funkcjami operującymi na łańcuchach znaków (substr(), strstr()) powinieneś wszystko zrobić.
php11
Dzięki raz jeszcze.
Poszukam informacji o tym, co pisałeś.

Te pliki to utworzone miniatury zdjęć. Nazwa jest taka sama, za wyjatkiem ostatniego znaku, tuż przed .jpg
crocodillo
  1. $zdjecie = '/katalog/fotka-1.jpg';
  2.  
  3. $nowaLiczba=22;
  4.  
  5. echo preg_replace('/-[0-9]+\./',"-$nowaLiczba.",$zdjecie);


Pod warunkiem, że nazwa jest zawsze dokładnie taka sama, tylko ta liczba (a nie znak, jak piszesz) się zmienia
php11
Niestety nie daję rady sad.gif

Mam dokładnie to: /katalog/fotka_AAA.jpg
chciałbym otrzymać /katalog/fotka_BBB.jpg
  1. $text = "/katalog/fotka_AAA.jpg";
  2. $text = preg_replace('AAA', 'BBB', $text);
  3. echo $text;


Sam tego nie zrobię sad.gif

edycja

Znalazłem!

  1. $text = "/katalog/fotka_AAA.jpg";
  2. $text = preg_replace('#AAA#', 'BBB', $text);
  3. echo $text;


Bardzo dziękuję wszystkim za poświęcony czas
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.