php-general Digest 9 Sep 2012 17:00:10 -0000 Issue 7957

Topics (messages 319024 through 319026):

Re: a little trickery
        319024 by: David McGlone
        319025 by: Stuart Dallas
        319026 by: David McGlone

Administrivia:

To subscribe to the digest, e-mail:
        php-general-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
        php-general-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
        php-gene...@lists.php.net


----------------------------------------------------------------------
--- Begin Message ---
On Saturday, September 08, 2012 11:19:29 PM David McGlone wrote:
> On Saturday, September 08, 2012 03:49:27 PM you wrote:
> > <?php
> > 
> >   function completeImageFilename($prefix)
> >   {
> >   
> >     $matches = glob('images/property_pics/'.$prefix.'*');
> >     return $matches[0];
> >   
> >   }
> >   
> >   echo '<img src="'.completeImageFilename($row['MSL_No']).'" />';
> > 
> > ?>
> > 
> > If you need to extract more than one image filename you should be able to
> > modify that pretty easily.
> 
> YEOW! LOL I looked at this and I'm very stumped on 1 thing. How in the world
> did you get $prefix to contain the image name without first assigning it to
> $prefix? I understand the rest, but..... Holy smokes, that's blown my mind.

I read about glob() on php.net before I replied, but I believe now it's 
registering. From what I understand glob works just like opendir() but does 
everything all in just 1 function. so in your code I realize you passed the 
variable $prefix into glob, along with the path to the files. This put the path 
images/property_pics/ and each image name from glob into $prefix you then 
assigne the value of $glob to $matches. Sound about right? :-)
 
-- 
Regards
David M.

--- End Message ---
--- Begin Message ---
On 9 Sep 2012, at 04:19, David McGlone <da...@dmcentral.net> wrote:

> On Saturday, September 08, 2012 03:49:27 PM you wrote:
>> On 8 Sep 2012, at 15:35, David McGlone <da...@dmcentral.net> wrote:
>>> I have a function that reads a directory and gets all the file names of
>>> images, and I am wondering if it's possible to concatinate this function
>>> withint an image tag. Here's an example I tried.
>>> 
>>> function pictures() {
>>> 
>>>   $dir = 'images/property_pics/';
>>>   $file = array();
>>> 
>>>     if(is_dir($dir)){
>>>     
>>>     if($open = opendir($dir)){
>>>     
>>>       while (($file = readdir($open)) !== false && $file !== ".") {
>>>     
>>>     $names = substr($file, 9, 20);
>>>     echo $names;
>>>     
>>>     }
>>>     
>>>     }
>>>     
>>>     closedir($handle);
>>> 
>>>   }
>>> 
>>> }
>>> 
>>> $rs = $pager->paginate();
>>> 
>>> if(!$rs) die(mysql_error());
>>> while($row = mysql_fetch_assoc($rs)) {
>>> 
>>>   echo "<div id='record'>";
>>>   echo "<span>";
>>>   echo <im src = "images/$row[$MSL_No]pictures();">
>>> 
>>> What I am trying to do is get the last part of an image name, because I
>>> know the $MSL_No is always a 9 character name which matches the image
>>> name in but in the database, the last bit of characters are not there so
>>> I'm trying to take the last characters of the image name and concatinate
>>> them to each image name..
>>> 
>>> Wow this is harder to explain that I thought. Here's an example
>>> 
>>> In the DB I have a row MSL_No and the contents is: 123456789
>>> 
>>> In my images folder I have an image named 123456789_R13_1.jpg
>>> 
>>> My goal: get the MSL_No out of the DB and concatenate anything after it 
> so
>>> I would end up with the whole image name..
>>> 
>>> I hope this all made sense. :-/
>> 
>> Is there just one image in the folder that starts with the 9 digit number?
>> In that case it's dead simple (untested code):
>> 
>> <?php
>>  function completeImageFilename($prefix)
>>  {
>>    $matches = glob('images/property_pics/'.$prefix.'*');
>>    return $matches[0];
>>  }
>> 
>>  echo '<img src="'.completeImageFilename($row['MSL_No']).'" />';
>> ?>
>> 
>> If you need to extract more than one image filename you should be able to
>> modify that pretty easily.
> 
> YEOW! LOL I looked at this and I'm very stumped on 1 thing. How in the world 
> did you get $prefix to contain the image name without first assigning it to 
> $prefix? I understand the rest, but..... Holy smokes, that's blown my mind. 
> :-/

I really can't tell whether you're being sarcastic, so I'll assume you're not.

Read about function arguments: http://php.net/functions.arguments

-Stuart

-- 
Stuart Dallas
3ft9 Ltd
http://3ft9.com/

--- End Message ---
--- Begin Message ---
On Sunday, September 09, 2012 03:02:17 PM Stuart Dallas wrote:
> On 9 Sep 2012, at 04:19, David McGlone <da...@dmcentral.net> wrote:
> > On Saturday, September 08, 2012 03:49:27 PM you wrote:
> >> On 8 Sep 2012, at 15:35, David McGlone <da...@dmcentral.net> wrote:
> >>> I have a function that reads a directory and gets all the file names of
> >>> images, and I am wondering if it's possible to concatinate this function
> >>> withint an image tag. Here's an example I tried.
> >>> 
> >>> function pictures() {
> >>> 
> >>>   $dir = 'images/property_pics/';
> >>>   $file = array();
> >>>   
> >>>     if(is_dir($dir)){
> >>>   
> >>>   if($open = opendir($dir)){
> >>>   
> >>>     while (($file = readdir($open)) !== false && $file !== ".") {
> >>>   
> >>>   $names = substr($file, 9, 20);
> >>>   echo $names;
> >>>   
> >>>   }
> >>>   
> >>>   }
> >>>   
> >>>     closedir($handle);
> >>>   
> >>>   }
> >>> 
> >>> }
> >>> 
> >>> $rs = $pager->paginate();
> >>> 
> >>> if(!$rs) die(mysql_error());
> >>> while($row = mysql_fetch_assoc($rs)) {
> >>> 
> >>>   echo "<div id='record'>";
> >>>   echo "<span>";
> >>>   echo <im src = "images/$row[$MSL_No]pictures();">
> >>> 
> >>> What I am trying to do is get the last part of an image name, because I
> >>> know the $MSL_No is always a 9 character name which matches the image
> >>> name in but in the database, the last bit of characters are not there so
> >>> I'm trying to take the last characters of the image name and concatinate
> >>> them to each image name..
> >>> 
> >>> Wow this is harder to explain that I thought. Here's an example
> >>> 
> >>> In the DB I have a row MSL_No and the contents is: 123456789
> >>> 
> >>> In my images folder I have an image named 123456789_R13_1.jpg
> >>> 
> >>> My goal: get the MSL_No out of the DB and concatenate anything after it
> > 
> > so
> > 
> >>> I would end up with the whole image name..
> >>> 
> >>> I hope this all made sense. :-/
> >> 
> >> Is there just one image in the folder that starts with the 9 digit
> >> number?
> >> In that case it's dead simple (untested code):
> >> 
> >> <?php
> >> 
> >>  function completeImageFilename($prefix)
> >>  {
> >>  
> >>    $matches = glob('images/property_pics/'.$prefix.'*');
> >>    return $matches[0];
> >>  
> >>  }
> >>  
> >>  echo '<img src="'.completeImageFilename($row['MSL_No']).'" />';
> >> 
> >> ?>
> >> 
> >> If you need to extract more than one image filename you should be able to
> >> modify that pretty easily.
> > 
> > YEOW! LOL I looked at this and I'm very stumped on 1 thing. How in the
> > world did you get $prefix to contain the image name without first
> > assigning it to $prefix? I understand the rest, but..... Holy smokes,
> > that's blown my mind. :-/

> I really can't tell whether you're being sarcastic, so I'll assume you're
> not.

Sorry about that. No sarcasm here. I was so taken aback on how different your 
code was.  I thought I was never going to understand the way you did it vs the 
way I tried. Sorry about that.
> 
> Read about function arguments: http://php.net/functions.arguments

Thanks. I'll go read it now. :-)

-- 
Regards
David M.

--- End Message ---

Reply via email to