From: Karl DeSaulniers on

On Jun 13, 2010, at 5:31 PM, Ashley Sheridan wrote:

> On Sun, 2010-06-13 at 17:27 -0500, Karl DeSaulniers wrote:
>
>> On Jun 13, 2010, at 5:23 PM, Ashley Sheridan wrote:
>>
>>> On 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
>>>
>>>
>>
>>
>> Hi Ash,
>> What about the "//" in the beginning?
>>
>>
>> Karl DeSaulniers
>> Design Drumm
>> http://designdrumm.com
>>
>>
>
>
> As your example string didn't have a double slash I didn't write code
> for that, but it's easy enough to remove 0-length strings from the
> $directories array.
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>

:) Rick's example, but how in your example do we look for a double
forward slash?
THX

Karl DeSaulniers
Design Drumm
http://designdrumm.com

From: Rick Dwyer on
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:

> On 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
>
>

From: Karl DeSaulniers on

On Jun 13, 2010, at 5:35 PM, 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
>
>

try echo($url); and see


Karl DeSaulniers
Design Drumm
http://designdrumm.com

From: Ashley Sheridan on
On Sun, 2010-06-13 at 17:35 -0500, Karl DeSaulniers wrote:

> On Jun 13, 2010, at 5:31 PM, Ashley Sheridan wrote:
>
> > On Sun, 2010-06-13 at 17:27 -0500, Karl DeSaulniers wrote:
> >
> >> On Jun 13, 2010, at 5:23 PM, Ashley Sheridan wrote:
> >>
> >>> On 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
> >>>
> >>>
> >>
> >>
> >> Hi Ash,
> >> What about the "//" in the beginning?
> >>
> >>
> >> Karl DeSaulniers
> >> Design Drumm
> >> http://designdrumm.com
> >>
> >>
> >
> >
> > As your example string didn't have a double slash I didn't write code
> > for that, but it's easy enough to remove 0-length strings from the
> > $directories array.
> >
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> >
> >
>
> :) Rick's example, but how in your example do we look for a double
> forward slash?
> THX
>
> Karl DeSaulniers
> Design Drumm
> http://designdrumm.com
>
>


You don't look for one, that's the point. The explode() breaks the
string into an array at every occurrence of a '/' character. This will
leave zero length strings in the array if there is a double // (which
wasn't in any given example in this thread that I saw) When you use the
array, just don't do anything with empty elements!

Thanks,
Ash
http://www.ashleysheridan.co.uk


From: Karl DeSaulniers on

On Jun 13, 2010, at 5:35 PM, 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
>
Oops I meant
echo($the_path);
or echo both and see.


Karl DeSaulniers
Design Drumm
http://designdrumm.com