Jacekk.info - O stronach internetowych wiemy wszystko

[PHP] Konwerter jednostek pojemności

Jacek

Najpierw zamieniamy daną wartość na bity, a następnie na żądaną jednostkę.

Kod
<?php
if($_POST['z_liczba']<=1048576 AND is_numeric($_POST['z_liczba'])) {
	$bit = '1'; // Jeden bit to ... bitów
	$bajt = '8'; // Jeden kilobajt to ... bitów
	$kilobit = '1024';
	$kilobajt = '8192';
	$megabit = '1048576';
	$megabajt = '8388608';
	$gigabit = '1073741824';
	$gigabajt = '8589934592';
	$terabit = '1099511627776';
	$terabajt = '8796093022208';
	$petabit = '1125899906842624';
	$petabajt = '9007199254740992';

	// Jednostka z której przeliczamy
	$z_jednostka = strtolower($_POST['z_jednostka']);
	// Jednostka na którą przeliczmy
	$na_jednostka = strtolower($_POST['na_jednostka']);

	// Jesteśmy w stanie je przeliczyć?
	if(isset($$z_jednostka) AND isset($$na_jednostka)) {
		// Kolejno mnożenie i dzielenie liczb
		$wynik = bcdiv(bcmul($_POST['z_liczba'], $$z_jednostka), $$na_jednostka);

		// Formatujemy wynik (dodajemy 'ów', 'y' lub nic)
		echo '<pre>'.$_POST['z_liczba'].' ';
		if($_POST['z_liczba']==1) {
			echo $z_jednostka;
		}
		elseif($_POST['z_liczba']<5) {
			echo $z_jednostka.'y';
		}
		else
		{
			echo $z_jednostka.'ów';
		}

		if($wynik==1) {
			echo ' = '.$wynik.' '.$na_jednostka;
		}
		elseif($wynik<5) {
			echo ' = '.$wynik.' '.$na_jednostka.'y';
		}
		else
		{
			echo ' = '.$wynik.' '.$na_jednostka.'ów';
		}
		echo '</pre><hr>';
	}
	else
	{
		// Takich jednostek nie przeliczymy!
		echo 'Nie mam takiej jednostki!<hr>';
	}
}
	// Długi formularz
	echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">
Przelicz z <input type="text" name="z_liczba"> <select name="z_jednostka">
<option value="bit">bit</option>
<option value="bajt">bajt</option>
<option value="kilobit">kilobit</option>
<option value="kilobajt">kilobajt</option>
<option value="megabit">megabit</option>
<option value="megabajt">megabajt</option>
<option value="gigabit">gigabit</option>
<option value="gigabajt">bigabajt</option>
<option value="terabit">terabit</option>
<option value="terabajt">terabajt</option>
<option value="petabit">petabit</option>
<option value="petabajt">petabajt</option>
</select>
na
<select name="na_jednostka">
<option value="bit">bit</option>
<option value="bajt">bajt</option>
<option value="kilobit">kilobit</option>
<option value="kilobajt">kilobajt</option>
<option value="megabit">megabit</option>
<option value="megabajt">megabajt</option>
<option value="gigabit">gigabit</option>
<option value="gigabajt">bigabajt</option>
<option value="terabit">terabit</option>
<option value="terabajt">terabajt</option>
<option value="petabit">petabit</option>
<option value="petabajt">petabajt</option>
</select> <input type="submit" value="Przelicz"/><br/>
<small>Powyższy skrypt nie oblicza ułamków!</small>
</form>';
?>

Zaproponuj kod!


© by Jacek Kowalski Sponsor: poszukiwany

Menu

Strona

Artykuły

Skrypty PHP

Przydatne kody

Wstawki

Informacje

Poprawny XHTML 1.1

Linki