Re: String Parse Help for novice
| From: | Rick Dwyer | Date: | Sun, 13 Jun 2010 22:52:10 +0000 |
| Subject: | Re: String Parse Help for novice | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-306110@lists.php.net to get a copy of this message | ||
OK, sorry for any confusion.
Here is all my code:
$url = "http" . ((!empty($_SERVER['HTTPS'])) ? "s" : "") . "://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$thepath = parse_url($url);
So, given that the URL can vary as follows:
/mydirectory/mysubdirectory/anothersubdirectory/mypage.php
vs.
/mydirectory/mypage.php
How do I get the either of the above url paths broken out so the variables equal the following
$dir1 = mydirectory
$dir2 = mysubdirectory
$dir3 = anothersubdirectory
$page = mypage.php
...etc... if there were 5 more subdirectories... they would be dynamically assigned to a variable.
--Rick
On Jun 13, 2010, at 6:42 PM, Ashley Sheridan wrote:
On Sun, 2010-06-13 at 18:35 -0400, Rick Dwyer wrote:OK, I get the following error: Warning: basename() expects parameter 1 to be string, array given in.... When I use the following: $thepath = parse_url($url); $filename = basename($thepath); Is my variable thepath not automatically string? --Rick On Jun 13, 2010, at 6:23 PM, Ashley Sheridan wrote:Because you've given it an array. Your original question never mentioned you were using parse_url() on the original array string. parse_url() breaks the string into its component parts, much like my explode example. Thanks, Ash http://www.ashleysheridan.co.ukOn Sun, 2010-06-13 at 18:13 -0400, Rick Dwyer wrote:Hello List. I need to parse the PATH portion of URL. I have assigned the path portion to a variable using the following: $thepath = parse_url($url); Now I need to break each portion of the path down into its own variable. The problem is, the path can vary considerably as follows: /mydirectory/mysubdirectory/anothersubdirectory/mypage.php vs. /mydirectory/mypage.php How do I get the either of the above url paths broken out so the variables equal the following $dir1 = mydirectory $dir2 = mysubdirectory $dir3 = anothersubdirectory $page = mypage.php ...etc... if there were 5 more subdirectories... they would be dynamically assigned to a variable. Thanks for any help. --Rick$filename = basename($path); $parts = explode('/', $path); $directories = array_pop($parts); Now you have your directories in the $directories array and the filename in $filename. Thanks, Ash http://www.ashleysheridan.co.uk