RE: newbie Q: How to say, "if the fileNAME is equal to...", or better yet, "if the fileNAME ends with '.jpg'"?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26 August 2008 17:15, James Ausmus advised:

> On Tue, Aug 26, 2008 at 8:57 AM, Ford, Mike
> <M.Ford@xxxxxxxxxxxxxx> 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 !!!!! ;)

Cheers!

Mike

 --
Mike Ford,  Electronic Information Developer,
C507, Leeds Metropolitan University, Civic Quarter Campus, 
Woodhouse Lane, LEEDS,  LS1 3HE,  United Kingdom
Email: m.ford@xxxxxxxxxxxxxx
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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux