Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get the filename without the params?

Tags:

php

filenames

I need to find the file name of the file I've included without the GET parameters.

e.g.: if the current URL is http://www.mysite.com/folder/file.php?a=b&c=d , i want file.php returned

what I have found:

basename($_SERVER['REQUEST_URI'])

which returns:

file.php?a=b&c=d

in my case: I'm using the filename in a form in the section for my cart, so at the moment each time you click the 'reduce number of product' button it adds the GET params of the form (productId and action) to the end of the URL: file.php?a=b&c=d?a=b&c=d?a=b&c=d?a=b&c=d...

I know I could simply explode or something similar on '?'

$file = explode("?", basename($_SERVER['REQUEST_URI']))

and use the first part of the array, but I seem to recall something easier, however cannot locate the code again..

I'm new to PHP so explanation on your code would be appreciated.

Thanks, V

like image 498
Vincent B. Avatar asked May 03 '11 13:05

Vincent B.


1 Answers

You can make use of parse_url. In your case you could use:

$url = parse_url($url, PHP_URL_PATH);

To get only the file name you can do something like this:

$url = explode('/', parse_url($url, PHP_URL_PATH));
$url = end($url);
like image 81
RJD22 Avatar answered Sep 18 '22 10:09

RJD22