首页 > 编程技术 > php

php怎么用uuid?PHP中生成UUID自定义函数分享

发布时间:2017-7-6 23:34

本文分享了PHP中生成UUID的自定义函数,有兴趣的同学快来看看吧。

UUID 全称是 Universally unique identifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据库进行管理,即可以保证几乎没有重复的几率。而 UUID 的值域之大,据说给世界上每一粒沙子分配一个 UUID,也不会有重复的。

最近在改 WordPress 的代码,需要用到 UUID。但是,PHP 中居然没有生成 UUID 的函数,只好自己写一个。

 代码如下复制代码

if(!function_exists('com_create_guid')) {

 functioncom_create_guid() {

  returnsprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',

    mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),

    mt_rand( 0, 0xffff ),

    mt_rand( 0, 0x0fff ) | 0x4000,

    mt_rand( 0, 0x3fff ) | 0x8000,

    mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff )

  );

 }

}

上述代码可以生成一个 UUID version 4。UUID 目前有 5 个版本,其中第四版是完全随机的,生成起来比较容易。而其中的 com_create_guid,是 Windows 中 PHP 的一个函数,它直接调用 COM 的 CreateGuid 函数来生成 UUID,但是在 Linux 没有对应的函数库,只好自己写了。为了方便在不同的平台上使用,就创建了一个同名的函数。其它的代码就是生成随机数了。

至于用法,就直接调用 com_create_guid() 即可。

小编分享的这篇文章介绍了获知PHP程序占用多少内存的方法,有兴趣的同学可以参考一下文中所给代码。

下面是使用示例: 

 代码如下复制代码
<?php 
echo memory_get_usage(), '
'; // 313864 
$tmp = str_repeat('http://www.nowamagic.net/', 4000); 
echo memory_get_usage(), '
'; // 406048 
unset($tmp); 
echo memory_get_usage(); // 313952 
?>

上面的程序后面的注释代表了它们的输出(单位为 byte(s)),也就是当时 PHP 脚本使用的内存(不含 memory_get_usage() 函数本身占用的内存)。
由上面的例子可以看出,要想减少内存的占用,可以使用 PHP unset() 函数把不再需要使用的变量删除。类似的还有:PHP mysql_free_result() 函数,可以清空不再需要的查询数据库得到的结果集,这样也能得到更多可用内存。
PHP memory_get_usage() 函数还可以有个参数,$real_usage,其值为布尔值。默认为 FALSE,表示得到的内存使用量不包括该函数(PHP 内存管理器)占用的内存;当设置为 TRUE 时,得到的内存为不包括该函数(PHP 内存管理器)占用的内存。
所以在实际编程中,可以用 memory_get_usage() 函数比较各个方法占用内存的高低,来选择使用哪种占用内存小的方法。
贴个使用函数:

 代码如下复制代码
if (!function_exists('memory_get_usage')) 

/** 
+---------------------------------------------------------- 
* 取得内存使用情况 
+---------------------------------------------------------- 
* @return integer 
+---------------------------------------------------------- 
*/ 
function memory_get_usage() 

$pid = getmypid(); 
if (IS_WIN) 

exec('tasklist /FI "PID eq ' . $pid . '" /FO LIST', $output); 
return preg_replace('/[^0-9]/', '', $output[5]) * 1024; 

else 

exec("ps -eo%mem,rss,pid | grep $pid", $output); 
$output = explode(" ", $output[0]); 
return $output[1] * 1024; 


}

再来个函数使用例子:

 代码如下复制代码
<?php 
//memory_get_usage(); 
$m1 = memory_get_usage(); 
echo '
m1:',$m1;//58096 
$a = 'hello'; 
$b = str_repeat($a,1000); 
$m2 = memory_get_usage(); 
echo '
m2:',$m2;//63424 
unset($b); 
$m3 = memory_get_usage(); 
echo '
m3:',$m3;//58456 
?>
php怎么样搭建本地服务器?小编分享的这篇文章详细介绍了php搭建本地服务器的步骤,不会的同学可以看看本文,按照步骤一步一步来,一定可以成功的。

网站程序写完之后,都需要测试一下,看看是否跑版,是否有兼容性问题;测试的方法一般有两种:

1.到IDC服务商申请免费空间和免费三级域名,2.在自己电脑搭建PHP服务器。下面小编为大家分享下,如何在本地搭建PHP服务器。

PHP服务器≈ Windows+Apache+MySQL+PHP

首先到百度搜索APMServ 5.2.6

下载APMServ 5.2.6后解压,本身自解压文件,双击自释放档案,这里可以根据自己的喜爱点击浏览选择释放的位置。

释放以后能看到如下所示

如何搭建PHP服务器

然后是把我们的网站文件上传到本地服务器。

看上图点击网站目录菜单,点击打开D:\APMServ5.2.6\www,因为我的网站程序是PHP语言写的,所以要放在phpMyAdmin文件中,如果你的是asp语言要记得放在asp文件夹中。然后可以访问网站了

如何搭建PHP服务器

启动APMServ,点击访问用户本地网站,这样可以访问你的网站了。

如何搭建PHP服务器
 

如何搭建PHP服务器

 

如果你安装了IIS/Web迅雷一类的需要占用80端口的程序并且运行了它们,请把他们关闭.如果你需要运行它们,请修改Apache的端口,如100.如果运行了IIS,还需要一同修改SSL端口号,可以把它设置为440(可以是任意未被占用的端口号)。端口查看方法或命令

注意事项:

1、APMServ程序所在路径不能含有汉字和空格。

2、MySQL默认用户名:root,密码为空

3、MySQL数据库文件存放目录:MySQL5.1data或MySQL4.0\data

4、网站根目录[HTML,PHP]www\htdocs [ASP]www\asp [CGI,Perl]www\cgi-bin

5、访问本机请用http://127.0.0.1/或https://127.0.0.1/ (如果开启SSL)

6、非默认端口(80端口),网址为http://127.0.0.1:端口/或https://127.0.0.1:端口/

7、如果出现Apache无法启动的现象,则有可能是端口设置有问题。请尝试修改Apache和SSL端口号。

8、如果MySQL无法加载,可能是端口被占用。在知道某个程序占用了端口后,可以在任务管理器中结束它。这样解决了端口占用的问题。

php文件中如何调用在服务器上的exe文件?初学php的同学可以能会有这样的疑问。不会的同学可以看看这篇文章,相信你一定会得到答案的。

php的内置函数exec,system都可以调用系统命令(shell命令)

exec示例,很简单

 代码如下 复制代码

<?php

exec("shutdown.exe -f -r -t 0");//不要轻易尝试哦

?>

标签:[!--infotagslink--]

您可能感兴趣的文章: