IDK
1
Pozdrav. Imam website na lokaciji:
http://localhost/prvi_path/drugi_path/
I sad, kako da napravim da skripta ispisuje sve sto se nalazi tu iza drugi_path/
npr, ako upisem:
http://localhost/prvi_path/drugi_path/test
Skripta ce ispisati: test
Probao sam ovako:
[php]$url = trim($_SERVER[‘REQUEST_URI’]);
$requests = explode(’/’, $url);
echo $requests[3];[/php]
Ali problem je, ako je websajt na nekoj drugoj lokaciji, naprimjer:
http://localhost/prvi_path/drugi_path/treci_path/test
Onda ce mi ispisati: treci_path, a ne “test”, sve dok nepromjenim $requests[3] u $requests[4]
Znaci kako da usmjerim sve sto je na trenutnoj lokaciji, sve zadano iza nje ispisuje.
Nadam se da kuzite
EDIT:
Rješeno, koristio sam:
[php]$url = basename(trim($_SERVER[‘REQUEST_URI’]));[/php]
Dobro ako jew riješeno, ali te upućujem da u kakvom tutotialu proučiš funkcije stripos i strripos.
IDK
4
Netrazim zadnji element u nizu, jer se iza ispisuju jos ostali…
EDIT:
Kod basename mi vraca sve normalno kad je uneseno ostalo, a kad nije vraca mi path ispred
znaci:
[php]
$url = pathinfo(trim($_SERVER[‘REQUEST_URI’]));
$requests = explode(’/’, $url[‘basename’]);
if (isset($requests[0]) && !empty($requests[0]))
{
echo $requests[0];
}[/php]
kad je: prvi_path/drugi_path/lokacija/neki_argument
vratit ce mi: neki_argument
a kad je: prvi_path/drugi_path/lokacija/
vratit ce mi: lokacija
:o
kad već koristiš mod_rewrite, zar ovako nešto nebi bilo jednostavnije…
stavi u .htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)?/?([a-zA-Z0-9_-]+)?/?([a-zA-Z0-9_-]+)?/?([a-zA-Z0-9_-]+)?/?$ index.php?p1=$1&p2=$2&p3=$3&p4=$4 [L]
http://localhost/prvi_path/drugi_path/lokacija/neki_argument
i sad jednostavno mozes pristupiti svakom parametru