Skip to content

Mihai Baboi

Vorbim despre mașini, tehnologie și nu numai

Menu
  • Home
  • Despre mine
  • Despre blog
  • Contact
  • Privacy Policy
Menu

Intreaba-ma: Afisarea unei imagini in functie de ora

Posted on February 24, 2011

Am fost intrebat zilele trecute cum se poate afisa o imagine intr-o pagina in functie de ora la care aceasta este accesata. Sunt convins ca sunt mai multe feluri de a face acest lucru, dar unul mi-a venit in minte imediat. Sa afisam imaginea dintr-un fisier php extern in care sa decidem sursa in functie de ora, sau de orice alt parametru dorim.

Pentru asta am compus un mic exemplu (simplificat la maxim) ca sa demonstrez aceasta functionalitate. Avem nevoie pentru inceput de o pagina index.php in care sa avem un cod de felul urmator:

Vezi Demo

<!DOCTYPE html>
<html>
	<head>
		<title>Imagini la ore fixe</title>
		<style type="text/css">
			#container {
				width: 576px;
				border: 2px solid #CCC;
				margin: auto;
				padding: 10px;
			}

			#container img {
				float: left;
				margin-right: 10px;
			}
		</style>
	</head>

	<body>
		<div id="container">
			<?php include("getImage.php"); ?>
			<p>Nam vel sapien vel odio adipiscing congue ... a rutrum odio cursus. Nunc non eros orci.</p>
		</div>
	</body>
</html>

Dupa cum puteti vedea, la un moment dat includem un fisier php, denumit getImage.php. Fisierul respectiv va face echo la tag-ul <img> pe care il vom insera in pagina.

Fisierul getImage.php va contine urmatorul cod:

<?php

$src = getSource();

printf("<img src=\"img/%s.jpg\" alt=\"%s\" title=\"%s\" />", $src, $src, $src);

function getSource()
{
	$hour = date("H"); // Nu ne trebuie decat ora

	if($hour >= 7 && $hour < 12)
	{
		return "breakfast";
	}
	elseif($hour >= 12 && $hour < 18)
	{
		return "lunch";
	}
	elseif($hour >= 18 && $hour <= 22)
	{
		return "dinner";
	}
	else
	{
		return "sleep";
	}
}

?>

Din pacate aceasta nu este neaparat cea mai eleganta metoda de a rezolva problema. Dar asta se datoareaza si faptului ca exemplul este mult simplificat. Daca am folosi un sistem de tamplating, asa cum pune la dispozitie CodeIgniter de exemplu, acest cod ar arata mai curat.

De asemenea, daca cineva considera ca are o idee mai buna (mai eficienta/eleganta) de a aborda aceasta problema, va astept in comentarii. Revelatiile vor ajunge intr-o versiune actualizata a acestui articol (cu mentiunea autorului, bineinteles).

Descarca Demo

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X

Related

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Analiză Tehnică
  • Auto
  • Comunicate
  • Concurs
  • Diverse
  • Evenimente
  • Foto
  • Hardware
  • Întreabă-mă
  • Lansări
  • Mașini
  • Noutăți auto
  • Opinie
  • Programare
  • Review
  • Scurte
  • Șed și Cuget
  • Zvonuri

allview Android aspect autonomie browser bune practici camera CodeIgniter Code Igniter Cold Fusion concluzii concurs css3 display div dual core Evolio evoMAG evoMAG.ro hardware HTC html html5 instalare lansare laptop Library libris.ro marketonline Nikon nokia performanta pret programare review samsung Samsung Galaxy S II smartphone specificatii standarde Symbian tableta teste upgrade user experience

©2025 Mihai Baboi | Design: Newspaperly WordPress Theme