webForumDet fria alternativet

Göra om till bilder!

PHP

8 svar · 589 visningar · startad av streetrobban

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Hej, jag har ett script här som gör om mina siffror till bilder. Men eftersom det är ett datum och tid det handlar om så finns det vissa tecken som inte blir konverterade till bilder. Tex. 2005-06-22, kl 21:05. Eftersom bilderna inte kan heta -.gif eller :.gif så funkar inte scriptet 100%. Hur gör jag för att ersätta - med streck.gif och : med kolon.gif?

<?php
$datum = date("Y-m-d");
$tid = date("H:i");
$dag = date("l");
	
echo "<img src=images/$dag.gif>&nbsp;&nbsp;&nbsp;";
	
$antal = strlen($datum);
for($i=0;$i<$antal;$i++)
{
	$delsiffra = substr($datum, $i , 1);
	echo "<img src=\"images/" . $delsiffra . ".gif\">";
}
	
echo "&nbsp;&nbsp;&nbsp;";
	
$antal = strlen($tid);
for($i=0;$i<$antal;$i++)
{
	$delsiffra = substr($tid, $i , 1);
	echo "<img src=\"images/" . $delsiffra . ".gif\">";
}
?>
Medlem sedan dec. 19996 721 inlägg
#2
switch($delsiffra) 
{
   case ".":
      $delsiffra="punkt";
      break;
   case ":":
      $delsiffra="kolon";
      break;
}
Medlem sedan jan. 20011 140 inlägg
#3

Hmm, hur ska koden in i det jag skrivit?

Medlem sedan jan. 20011 140 inlägg
#4

Jag bumpar lite.

Medlem sedan juli 20023 617 inlägg
#5

Före echo-satsen i varje loop. Ändra punkt till streck bara.

switch($delsiffra) 
{ 
   case "-": 
      $delsiffra="streck"; 
      break; 
   case ":": 
      $delsiffra="kolon"; 
      break; 
}

Det kanske vore lika bra att göra det till en funktion.

Medlem sedan jan. 20011 140 inlägg
#6

Jag får inte riktigt till det, var det såhär du menade? Nu funkar inga bilder, inget felmeddelande dock.

	<?php
	$datum = date("Y-m-d");
	$tid = date("H:i");
	$dag = date("l");
	
	echo "<img src=images/$dag.gif>&nbsp;&nbsp;&nbsp;";
	
	$antal = strlen($datum);
	for($i=0;$i<$antal;$i++)
	{
		switch($delsiffra)
		{
			case "-":
			$delsiffra="streck";
			break;
			case ":":
			$delsiffra="kolon";
			break;
		}
		
		echo "<img src=\"images/" . $delsiffra . ".gif\">";
	}
	
	echo "&nbsp;&nbsp;&nbsp;";
	
	$antal = strlen($tid);
	for($i=0;$i<$antal;$i++)
	{
		switch($delsiffra)
		{
			case "-":
			$delsiffra="streck";
			break;
			case ":":
			$delsiffra="kolon";
			break;
		}
		
		echo "<img src=\"images/" . $delsiffra . ".gif\">";
	}
	?>
Medlem sedan juli 20023 617 inlägg
#7

Du behöver din gamla rad med $delsiffra=...

Medlem sedan jan. 20011 140 inlägg
#8

Nu fick jag det att fungera, körde med IF-satser istället.

	<?php
	$datum = date("Y-m-d");
	$tid = date("H:i");
	$dag = date("l");
	    
	echo "<img src=images/$dag.gif>&nbsp;&nbsp;";
	    
	$antal = strlen($datum);
	for($i=0;$i<$antal;$i++)
	{
		$delsiffra = substr($datum, $i , 1);
		
		if ($delsiffra == '-')
		{
			echo "<img src=images/streck.gif>";
		}
		elseif ($delsiffra == ':')
		{
			echo "<img src=images/kolon.gif>";
		}
		else
		{
			echo "<img src=\"images/" . $delsiffra . ".gif\">";
		}
	}
	    
	echo "&nbsp;&nbsp";
	    
	$antal = strlen($tid);
	for($i=0;$i<$antal;$i++)
	{
		$delsiffra = substr($tid, $i , 1);
		
		if ($delsiffra == '-')
		{
			echo "<img src=images/streck.gif>";
		}
		elseif ($delsiffra == ':')
		{
			echo "<img src=images/kolon.gif>";
		}
		else
		{
			echo "<img src=\"images/" . $delsiffra . ".gif\">";
		}
	}
	?>
Medlem sedan juli 20023 617 inlägg
#9

Vad bra att du fick det att fungera! :)
Det borde ha fungerat med switch-satsen om du hade lagt in $delsiffra = substr($datum, $i , 1); före den, men huvudsaken är att det fungerar.

Kom ihåg att lägga till citationstecken i dina img-taggar om du vill at de ska validera.

Hej å hå, koda på... :bire

260 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)