Solved

# Moon Phase

Posted on 2010-09-14
730 Views
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));

?>
``````
0
Question by:Michael
• 3
• 2

LVL 4

Expert Comment

ID: 33675425

0

LVL 4

Expert Comment

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

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

images/newmoon.gif
0

LVL 4

Accepted Solution

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

LVL 2

Author Closing Comment

ID: 33675594
Thanks for the help!!!
0

## Featured Post

### Suggested Solutions

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â€¦