westdc-core/Westdc/Helpers/Tools.php

89 lines
2.0 KiB
PHP
Raw Normal View History

2014-09-21 14:57:41 +00:00
<?php
namespace Westdc\Helpers;
class Tools {
/**
* 判断是否为UUID字符串
* @param $uuid
* @return int
*/
2014-09-21 14:57:41 +00:00
public static function isUUID($uuid) {
return preg_match("/^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$/",$uuid);
}
/**
* @param $str
* @return bool
*/
public function isEmail($str){
return true;
}
2014-12-24 16:38:23 +00:00
/**
* @param $cmd
*/
public function execBackend($cmd)
{
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start cmd /c ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
return;
}
/**
* 返回的汉语文字信息在windows中是GB2312编码需要手动改成UTF8
* iconv("GB2312","UTF-8",$read);
* @param $cmd
* @return array
*/
public function execFront($cmd)
{
$response = array();
$handle = popen("$cmd 2>&1", 'r');
2015-01-11 03:24:31 +00:00
2014-12-24 16:38:23 +00:00
while ($read = fread($handle, 20096)) {
2015-01-11 03:24:31 +00:00
if(!mb_detect_encoding($read, 'UTF-8', true))
iconv("GB2312","UTF-8",$read);
2014-12-24 16:38:23 +00:00
$response[] = trim($read);
}
pclose($handle);
flush();
return $response;
}
/**
* @return string
*/
public function uuid()
{
return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
// 32 bits for "time_low"
mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),
// 16 bits for "time_mid"
mt_rand( 0, 0xffff ),
// 16 bits for "time_hi_and_version",
// four most significant bits holds version number 4
mt_rand( 0, 0x0fff ) | 0x4000,
// 16 bits, 8 bits for "clk_seq_hi_res",
// 8 bits for "clk_seq_low",
// two most significant bits holds zero and one for variant DCE1.1
mt_rand( 0, 0x3fff ) | 0x8000,
// 48 bits for "node"
mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff )
);
}
2014-09-21 14:57:41 +00:00
}