2014-09-21 14:57:41 +00:00
|
|
|
|
<?php
|
|
|
|
|
namespace Westdc\Helpers;
|
|
|
|
|
|
|
|
|
|
class Tools {
|
2014-12-23 14:32:23 +00:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 判断是否为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);
|
|
|
|
|
}
|
2014-12-23 14:32:23 +00:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @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;
|
|
|
|
|
}
|
2014-12-26 13:45:05 +00:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|