Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] obcięcie stringa
Forum PHP.pl > Forum > Przedszkole
slawekpiotr
Mam skrypt który uruchamiam na 2 maszynach na jednej jest na adresie localhost/a/public/register na drugiej a.app/register co zrobić aby na obu maszynach $uri wykazywało /register ? bo w tej chwili na tej maszynie z localhost/a/public/register pokazuje $uri /a/public/register a tej z a.app jest /register

zmienną $uri mam zapisaną tak
  1. $uri = $_SERVER['REQUEST_URI'];


na maszynie z domeną a.app mam przypisaną ścieżkę /a/public/ do tej domeny, na drugiej maszynie z powodu ograniczeń nie mogę stworzyć domeny a.app
trueblue
  1. echo array_reverse(explode("/", $string))[0];

lub
  1. echo pathinfo($string)['basename'];
slawekpiotr
Dzięki ale chyba nie bardzo działa bo zwraca mi tylko ostatni wyraz a nie o to chodziło.
To może inaczej bo może nie dość jasno pisałem problem.
mam ten sam serwis/adres uruchamiany z 2 lokalizacji
1. domena.pl/sciezka/do/folderu/x
2. localhost/abc/public/sciezka/do/folderu/x
pobieram uri poprzez $_SERVER['REQUEST_URI']
  1. $uri = parse_url($_SERVER['REQUEST_URI'])['path'];
  2. if($_SERVER['SERVER_NAME']=='localhost') {
  3. $a = $uri; // tu zwraca '/abc/public/sciezka/do/folderu/x'
  4. } else {
  5. $a = $uri; // tu zwraca '/sciezka/do/folderu/x'
  6. }
  7. echo $a;

pytanie co zrobić aby zmienna $uri w każdym z powyższych przypadków tj na localhoście i poza localhostem zwracała z tego stringa /sciezka/do/folderu/x
/sciezka/do/folderu/x - będzie dynamiczna. Krótko mówiąc chcę w przypadku localhosta wyciąć "/abc/public" z początku albo może pierwszy public i wszystko co przed nim
Tomplus
Ja nie wiem czy Cię dobrze rozumiem, ale skoro chcesz tylko URL_PATH, a nie chcesz tego co się wyświetla w URL przeglądarki, to może po prostu usuń to str_replace(). ?

  1. $url = strl_replace('/abc/public', '', parse_url($url, PHP_URL_PATH));

Salvation
Jakie to ograniczenia masz na maszynie lokalnej, że nie możesz pointować na katalog, który chcesz?
Malinaa
Sprawdź to:
  1. $key = '/register';
  2. $uri = 'localhost/a/public/register'; // or a.app/register
  3.  
  4. $path = strstr($uri, $key);
  5.  
  6. echo $path;
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-2024 Invision Power Services, Inc.