Solved

Moon Phase

Posted on 2010-09-14
5
730 Views
Last Modified: 2012-05-10
I'd like to modify this moon phase script to replace New Moon, Waxing Crescent Moon, Quarter Moon, Waxing Gibbous Moon, Full Moon, Waning Gibbous Moon, Last Quarter Moon and Waning Crescent Moon with an image to represent the current moon phase.

Example:
case 0:
            return 'images/newmoon.gif';
            break;

Thanks
<?php

function moon_phase($year, $month, $day)

{

	$c = $e = $jd = $b = 0;

	if ($month < 3)

	{

		$year--;

		$month += 12;

	}

	++$month;

	$c = 365.25 * $year;

	$e = 30.6 * $month;

	$jd = $c + $e + $day - 694039.09; //jd is total days elapsed

	$jd /= 29.5305882; //divide by the moon cycle

	$b = (int) $jd; //int(jd) -> b, take integer part of jd

	$jd -= $b; //subtract integer part to leave fractional part of original jd

	$b = round($jd * 8); //scale fraction from 0-8 and round

	if ($b >= 8 )

	{

		$b = 0;//0 and 8 are the same so turn 8 into 0

	}

	switch ($b)

	{

		case 0:

			return 'New Moon';

			break;

		case 1:

			return 'Waxing Crescent Moon';

			break;

		case 2:

			return 'Quarter Moon';

			break;

		case 3:

			return 'Waxing Gibbous Moon';

			break;

		case 4:

			return 'Full Moon';

			break;

		case 5:

			return 'Waning Gibbous Moon';

			break;

		case 6:

			return 'Last Quarter Moon';

			break;

		case 7:

			return 'Waning Crescent Moon';

			break;

		default:

		return 'Error';

	}

}

$timestamp = time();

echo moon_phase(date('Y', $timestamp), date('n', $timestamp), date('j', $timestamp));

?>

Open in new window

0
Comment
Question by:Michael
  • 3
  • 2
5 Comments
 
LVL 4

Expert Comment

by:ronan1979
ID: 33675425
your example is correct

 what is your issue?
0
 
LVL 4

Expert Comment

by:ronan1979
ID: 33675484
then

<?php

$img_path = moon_phase(date('Y', $timestamp), date('n', $timestamp), date('j', $timestamp));
?>

<img src="<?php echo $img_path?>" />
0
 
LVL 2

Author Comment

by:Michael
ID: 33675498
The image does not appear, instead it returns copy that reads as:

images/newmoon.gif
0
 
LVL 4

Accepted Solution

by:
ronan1979 earned 50 total points
ID: 33675512
insert the path in a html tag : <img src="img_path" />
0
 
LVL 2

Author Closing Comment

by:Michael
ID: 33675594
Thanks for the help!!!
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Someone recently asked me about how to display a progress indicator on a page while an iframe is loading. And I remember when I first came across this myself. It was a bit tricky to get my head around, but really, it's very simple. The most impor…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

746 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now