[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-general
Subject:    Re: [PHP] newbie Q: How to say, "if the fileNAME is equal to...",
From:       Jochem Maas <jochem () iamjochem ! com>
Date:       2008-08-29 22:20:44
Message-ID: 48B8763C.7030806 () iamjochem ! com
[Download RAW message or body]

James Ausmus schreef:
> On Tue, Aug 26, 2008 at 10:08 AM, Ford, Mike <M.Ford@leedsmet.ac.uk> wrote:
> > On 26 August 2008 17:15, James Ausmus advised:
> > 
> > > On Tue, Aug 26, 2008 at 8:57 AM, Ford, Mike
> > > <M.Ford@leedsmet.ac.uk> wrote:
> > > > On 25 August 2008 00:54, Govinda advised:
> > > <snip>
> > > 
> > > > Personally, I might be tempted to do something like this:
> > > > 
> > > > if (($pos = strrchr($file, '.'))!==FALSE):
> > > > switch (strtolower(substr($file, $pos))):
> > > > case '.gif':
> > > > case '.png':
> > > > case '.jpg':
> > > > case '.jpeg':
> > > > echo $file;
> > > > endswitch;
> > > > endif;
> > > <snip>
> > > 
> > > Of course, this could be simplified *slightly* by actually taking
> > > advantage of the loose typing of PHP - change the above if statement
> > to:
> > > if (($pos = strpos($file, '.')))
> > > {
> > > $restOfAboveCodeHere;
> > > }
> > > 
> > > This way, if the file is the '.' or '..' files, then you will get a 0
> > > for the position of the '.', which will evaluate to FALSE. All other
> > > files will return a non-zero position of the '.' char, which will
> > > evaluate to TRUE. Also, I would believe (but have no evidence at all
> > > of) that a forward-looking string position search will be very
> > > slightly faster than a strrchr search - dunno for certain, and don't
> > > care enough to code up a couple-line test, but just my gut... ;)
> > The problem with that is that a file called, say, site.logo.jpg will
> > fail the subsequent tests, since the substr() on the next line will
> > return '.logo.jpg'.  (And whilst it is vanishingly improbable, it is
> > _just_ possible for someone to supply a file called .gif !!!!! ;)
> > 
> 
> Very true - shows what a couple seconds of thought prior to full
> caffeine will give you. ;)
> 
> However, it still does illustrate a concept that is important - making
> PHP's loose typing work *for* you, instead of fighting against it -
> many of the posts here have approximately said "DANGER! Loose typing
> ahead!", which could tend to make a new PHP programmer only think of
> the loose typing in a negative form - something to watch out for and
> avoid. If, however, you internalize the implications of loose typing,
> then you can actually make good use of it, instead of just guarding
> against it like the plague. ;)

very good point.

indeed it should be noted loosetyping is a good thing, you just need
to understand how to use it diligently. anyone who thinks it's evil
can always f*** off to the java camp :-P

> 
> -James
> 
> 
> > Cheers!
> > 
> > Mike
> > 
> > --
> > Mike Ford,  Electronic Information Developer,
> > C507, Leeds Metropolitan University, Civic Quarter Campus,
> > Woodhouse Lane, LEEDS,  LS1 3HE,  United Kingdom
> > Email: m.ford@leedsmet.ac.uk
> > Tel: +44 113 812 4730
> > 
> > 
> > To view the terms under which this email is distributed, please go to \
> > http://disclaimer.leedsmet.ac.uk/email.htm 
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> > 
> > 
> 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic