?
Solved

An Image variable

Posted on 2007-10-02
2
Medium Priority
?
261 Views
Last Modified: 2010-08-05
Hi everyone!
I have a php file that has the following statement:

<img src=" <?php echo 'http://localhost/mediawiki/skins/panorama/death_valley_flowers_panorama.jpg' ?>" style="width: 928px; height: 147px; border: 1 none; filter: alpha(opacity=20); -moz-opacity: 0; opacity: 0;" id="blendimage""/>          

When the page loads, I can see the image 'death_valley_flowers_panorama.jpg'

The folder where this image is, is in:
C:\wamp\www\mediawiki\skins\panorama
and there are many images in here.

A variable called $init_pic holds the full path to the location of the panorama folder, and randomly returns an image from that folder.

But if I define img src like the following.....

<img src=" <?php echo 'http://localhost/mediawiki/skins/panorama/' . $init_pic ?>

What $init_pic expands out to is:

C:/wamp/www/mediawiki/skins/panorama/death_valley_flowers_panorama.jpg

That is the FULL PATH to the random image.

So I end up with img src expanding out to be:

http://localhost/mediawiki/skins/panorama/C:/wamp/www/mediawiki/skins/panorama/death_valley_flowers_panorama.jpg

which is wrong...it cant find that.

If I place in a hardcoded image path as follows:

<img src=" <?php echo 'http://localhost/mediawiki/skins/panorama/' . 'death_valley_flowers_panorama.jpg' ?>

This loads fine.

But I need the $init_pic variable in there so that the image can change.

The only problem is that with $init_pic in there, I get the following:

http://localhost/mediawiki/skins/panorama/C:/wamp/www/mediawiki/skins/panorama/death_valley_flowers_panorama.jpg

I need somehow to make img src look like the following:

<img src=" <?php echo 'http://localhost/mediawiki/skins/panorama/' . 'death_valley_flowers_panorama.jpg' ?>

but where 'death_valley_flowers_panorama.jpg'  is actually $init_pic, so that the images will change.

$int_pic returns the full path to the image.

Is there any way to first return that full path, then cut off everything from the front, to just leave the resulting image name?

So, in other words, is there a function or something that can do the following....

<img src=" <?php echo 'http://localhost/mediawiki/skins/panorama/' . '$int_pic?>
Then before img src is set to this, as this will be wrong....
Trim off the expanded $int_pic variable
from
C:/wamp/www/mediawiki/skins/panorama/death_valley_flowers_panorama.jpg
TO
death_valley_flowers_panorama.jpg'

Any help appreciated.

Thank you.
0
Comment
Question by:Simon336697
2 Comments
 
LVL 24

Accepted Solution

by:
glcummins earned 2000 total points
ID: 19998435
<?php

$imageDirectory = 'C:\wamp\www\mediawiki\skins\panorama';
$files = array();

if ($handle = opendir($imageDirectory))
{
      
      while (false !== ($files[] = readdir($handle)))
      {      }

      $randomImageIndex = array_rand($files);

      echo '<img src="http://localhost/mediawiki/skins/panorama/' . $files[$randomImageIndex] . '" />';
}
?>
0
 
LVL 1

Author Comment

by:Simon336697
ID: 19998682
Hi glcummins!
Thanks so much for your help mate.
I tried this and it worked but was a bit hit and miss. Sometimes it would not select an image from the folder, so the page when loaded, had no image. Other times it did.

gl....what I really need is to use the following....

The following php function retrieves the randomized images always:

====================================================================
<?php
global $IP;
$images = glob(dirname(__FILE__).'/panorama/*.jpg'); # or $IP/skins/.....panaroma/*.jpg
foreach ($images AS $k=>$v) $images[$k] = ereg_replace("^$IP","/",$v); # note another fix, this needs to be / not empty (I think)
$indx = 0;
$init_pic = $images[array_rand($images)];
foreach($images AS $pic)
{
      echo "galleryarray[$indx]='$pic';
";
            $indx++;
}
?>
===============================================================
In the above, the $init_pic holds a randomly selected image name from

C:\wamp\www\mediawiki\skins\panorama\image.jpg

So I need to use:

<img src=" <?php echo 'http://localhost/mediawiki/skins/panorama/' . '$int_pic?>

But with $int_pic not the full path, but just image.jpg, or whatever image it holds at any time.



0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this. Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it i…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to count occurrences of each item in an array.
Suggested Courses
Course of the Month15 days, 8 hours left to enroll

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question