Rodomi pranešimai su žymėmis PHP. Rodyti visus pranešimus
Rodomi pranešimai su žymėmis PHP. Rodyti visus pranešimus

2023 m. vasario 7 d., antradienis

php kodas, tikrinantis įmonės registracijos numerį

function validateCompanyRegistrationNumber($number) { if (strlen($number) != 9) { return false; } $weights = [1, 2, 3, 4, 5, 6, 7, 8]; $sum = 0; for ($i = 0; $i < 8; $i++) { $sum += $weights[$i] * (int) $number[$i]; } $checkDigit = $sum % 11; if ($checkDigit == 10) { $checkDigit = 0; } return $checkDigit == (int) $number[8]; } $number = "123456789"; if (validateCompanyRegistrationNumber($number)) { echo "$number is valid."; } else { echo "$number is not valid."

} 

2020 m. spalio 8 d., ketvirtadienis

php and web sockets

 http://socketo.me/  igalina paleisti php serveri klausanti kakzoki tai porta, kad galetume apdoroti websocket susijungimus, uzklausas

2018 m. sausio 8 d., pirmadienis

Detecting the HTTP method

$method = $_SERVER['REQUEST_METHOD']
if ($method == 'POST') {
    // Method is POST
} elseif ($method == 'GET') {
    // Method is GET
} elseif ($method == 'PUT') {
    // Method is PUT
} elseif ($method == 'DELETE') {
    // Method is DELETE
} else {
    // Method unknown
}
Way to use PUT data from PHP:
$method = $_SERVER['REQUEST_METHOD'];
if ('PUT' === $method) {
    parse_str(file_get_contents('php://input'), $_PUT);
    var_dump($_PUT); //$_PUT contains put fields 
}

2017 m. sausio 30 d., pirmadienis

UUID

mysql uuid() arba PHP https://gist.github.com/dahnielson/508447/b271e314c3c3190b0e31bc7f2f4f35da3c04f91c

Version 1 (date-time and MAC address)
Version 2 (date-time and MAC Address, DCE security version)
Versions 3 and 5 (namespace name-based)
Version 4 (random)

2016 m. rugsėjo 5 d., pirmadienis

PHP slugify url

static public function slugify($text)
{
  // replace non letter or digits by -
  $text = preg_replace('~[^\pL\d]+~u', '-', $text);

  // transliterate
  $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

  // remove unwanted characters
  $text = preg_replace('~[^-\w]+~', '', $text);

  // trim
  $text = trim($text, '-');

  // remove duplicate -
  $text = preg_replace('~-+~', '-', $text);

  // lowercase
  $text = strtolower($text);

  if (empty($text)) {
    return 'n-a';
  }

  return $text;
}

2016 m. kovo 10 d., ketvirtadienis

WebSockets tutorial

websockets - dvipusis bendravimas serverio su narsykle
http://www.binarytides.com/websockets-php-tutorial/
js biblioteka http://socket.io/   o serverside naudoti node.js


server-sent events - info uzklausimai kas kelias sekundes. Galima is serverio paduoti retry parametra po kiek laiko kita karta uzklausti info.
http://www.w3schools.com/html/html5_serversentevents.asp
Jau susijungus su serveriu, glaima padaryti, kad php skriptas tampa veikiantis be sustojimo su while, ir su obflush ispushina info narsyklei tada kada nori serveris: http://www.howopensource.com/2014/12/introduction-to-server-sent-events/

Long Polling Ajax - kai uzklausa nueina i sevreri, o srveris atsako tik tada, kai turi naujos info. Uzdedamas ilgas timeout. Gavus atsakyma, uzklausa vel kartojama is narsykles i serveri:
http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery/

2015 m. rugsėjo 30 d., trečiadienis

php date interval

$dates = array_map(function($dt) { return $dt->format('Y-m');}, iterator_to_array(new DatePeriod(new DateTime(date('Y-m-01')), DateInterval::createFromDateString('-1 month'), 12)));