2014-12-11 16 views
5

to jest mój kodphp usunąć ostatni "/" ze ścieżki

$method = $_SERVER['PATH_INFO']; 

i to jest moja droga:

http://localhost:8082/XXXX/controllers/User.php/newUser?name=hello 

wynikiem metody jest /newUser

bym lubię mieć tylko newUser. IE bez /

może mi pomóc proszę

Odpowiedz

4
$method = ltrim($_SERVER['PATH_INFO'], '/'); 
+1

jesteś pierwszym, który odpowiada, plus jeden, przyjmuję odpowiedź, gdy system pozwala wielu dzięki –

+0

jestem prawie pewien, że był stripslashes, kiedy po raz pierwszy widziałem go. Zmiany nie są śledzone, jeśli nie ma głosów, o ile im wiadomo? – exussum

+0

@Legionar Jako dodatkowe zabezpieczenie, możesz rozważyć filtrowanie wejścia '$ _SERVER'' filter_input (INPUT_SERVER, "PATH_INFO", FILTER_SANITIZE_URL) '. Aby uzyskać więcej informacji, zobacz ['filter_input()'] (http://php.net/manual/en/function.filter-input.php) ... – War10ck

3
$withoutSlash = substr($_SERVER['PATH_INFO'], 1); 
+1

plus jeden do twoich wysiłków, ale przed tobą jest facet, któremu przysługuje sprawiedliwość, aby zaakceptować jego/jej odpowiedź, wybacz mi proszę i dziękuję –

6

ltrim na użycie zmiennej chcesz? Wydaje się, że najprostszym sposobem dla mnie

$var = ltrim($var,"/"); 
+1

plus jeden do twoich wysiłków, ale przed tobą jest facet i to jest uczciwie przyjąć jego/jej odpowiedź, wybacz mi proszę i dziękuję –

3

Może Twoje pytanie już istnieje:

URL: PHP How to remove last part of a path

Jedno rozwiązanie:

preg_replace("/\/\w+$/i","",__DIR__); 
# Note you may also need to add .DIRECTORY_SEPARATOR at the end. 

Innym rozwiązaniem:

dirname($path) 
Documentation: http://ca3.php.net/dirname 
+2

plus jeden do twoich wysiłków, ale jest facet odpowiedział przed tobą i to jest sprawiedliwe, aby przyjąć jego/jej odpowiedź, wybacz mi proszę i dziękuję –

+0

Nie martw się :) Cieszę się, że znalazłeś rozwiązanie. I dzięki za "plus jeden". – MartaGom