Skocz do zawartości


Zdjęcie

[PHP] Funkcje autorskie


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 _Fafal_

_Fafal_

    Początkujący

  • 28 postów

Napisano 13 05 2011 - 13:26

Witam, tak sobie pomyślałem, żeby stworzyć temat dot. PHP, w którym będą zamieszczane przydatne, autorskie funkcje (z opisem), które nie są oferowane przez parser.

Więc na początek wrzucę dwie moje funkcje:


function show_time($t)
{
  $t2=time()-$t;

  if ($t2 > 86400)
  {
    $ilosc=(string)floor($t2/86400);

    if ($ilosc=='1') $ret='1 dzień temu';
    else $ret=$ilosc.' dni temu';
  }
  else if ($t2 > 3600)
  {
    $ilosc=(string)floor($t2/3600);

    $end=$ilosc[strlen($ilosc)-1];

         if ($ilosc=='1') $txt='godzinę';
    else if (($end=='2' || $end=='3' || $end=='4') && ($ilosc!='12' && $ilosc!='13' && $ilosc!='14')) $txt='godziny';
    else $txt='godzin';

    $ret=$ilosc.' '.$txt.' temu';
  }
  else if ($t2 > 60)
  {
    $ilosc=(string)floor($t2/60);

    $end=$ilosc[strlen($ilosc)-1];

         if ($ilosc=='1') $txt='minutę';
    else if (($end=='2' || $end=='3' || $end=='4') && ($ilosc!='12' && $ilosc!='13' && $ilosc!='14')) $txt='minuty';
    else $txt='minut';

    $ret=$ilosc.' '.$txt.' temu';
  }
  else $ret='przed chwil±';

  return $ret;
}

//funkcja zmienia czas z formatu time() na czas wyrażony słownie

// echo show_time(time());   == 'przed chwilą'
// echo show_time(1); == '15107 dni temu'
// echo show_time(time()-300); == '5 minut temu'
// echo show_time(time()-12500); == '3 godziny temu'


function wiek($wiek)
{
  $d_wiek=$wiek{8}.$wiek{9};
  $m_wiek=$wiek{5}.$wiek{6};

  $r_wiek=$wiek{0}.$wiek{1}.$wiek{2}.$wiek{3};

  $r_jest=date(Y);
  $m_jest=date(m);
  $d_jest=date(d);

  $lat=$r_jest-$r_wiek;

  if ($m_wiek>$m_jest) $lat=$lat-1;
  else if ($m_wiek==$m_jest)
  {
    if ($d_wiek > $d_jest)
      $lat=$lat-1;
  }

  if ($lat<18) $lat=18;

  return $lat;
}

// funkcja pokazuje aktualny wiek osoby, na podstawie daty urodzenia w formacie rrrr-mm-dd

// echo wiek('1985-01-01'); == '26'


  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych