php中计算离生日还剩下多少天?
/生日倒计时$birthday = "2017-12-29";date_default_timezone_set("PRC")
;//今天的时间戳$today = time()
;echo "今天是".date("Y-m-d",$today).""
;//生日时间戳$bstamp = strtotime($birthday)
;//倒计时多少天$rev = ceil(($bstamp-$today)/(24*3600))
;echo "距离您的生日还有".$rev."天";
上传时出现时间错误,怎么解决?_?
楼主你的问题我看了一下,我曾经也遇到过类似的问题,我总结解决方法有以下几点:
1、通过FTP工具找到在网站根目录下找到wp-config.php配置文件;搜索require_once(ABSPATH . ‘wp-settings.php’);在搜索的代码上面添加以下语句:define(‘CONCATENATE_SCRIPTS’, false );
2、插件冲突导致,卸载或者关闭掉已经启用的插件。
3、图片不要使用中文名字,一定要使用字母。进入WP后台后,点击左侧导航栏的“设置”>>“其他”>>“将上传的文件保存在目录”里的地址清空,或者填写../wp-content/uploads的路径。
4、如果你的主题不是最新版本,请升级到最新版本;如果你的wp版本不是最新版本,请升级到最新版本。
5、重新安装wordpress实在不行,就只有重新安装了。这是那个问题的答案
如何使用PHP生成随机字符串?
引言
我们经常可能会用到邀请码,邮件验证码,或者需要使用unique 字符串标记用户属性的情况。
今天我们且不说高深的“全局唯一ID”的生成方案,我们说一个简单的,如何生成一个唯一的,随机的,数组字母组成的字符串。
学习时间
PHP 有一个内置函数 uniqid,用于生成一个唯一的ID。该函数结构形式:
string uniqid([ string $prefix = ""[, bool $more_entropy = false]] )
用于获取一个带前缀、基于当前时间微秒数的唯一ID。
但是该方法所生成的ID并不是安全的,且依赖于本机的时间戳,有可能在同一微秒生成同一ID。所以安全起见,需要添加上 prefix 参数,以示区别。
more_entropy 参数使生成的ID更具有唯一性,如果设置为 TRUE,uniqid() 会在返回的字符串结尾增加额外的煽(使用combined linear congruential generator)。
这就够了吗?这当然不是最优的解决方法。我们尝试其他解决方案。使用 openssl 带来的加密性和唯一性。
bin2hex(openssl_random_pseudo_bytes($bytes))
使用 openssl_random_pseudo_bytes 函数生成一个伪随机字符串的字节,然后使用 bin2hex 将其格式化为十六进制的字符串。
生成的伪随机字节,其字节数由length参数确定。还指示是否使用了加密功能强的算法来生成伪随机字节,并通过可选的crypto_strongparameter来执行此操作。 此种方法返回的参数,很少情况下会出现false。
美中不足的是,这样生成的数字字符串,只在[0-9][a-z]之间,不够广泛。我们尝试加固这个生成方法,增强其鲁棒性。
上述函数会生成一个区间位于 [$min, $max] 的随机数字。然后调用该函数生成指定长度的字符串。
函数 crypto_rand_secure 函数的实现方法,在PHP标准函数中,可以使用 rand / mt_rand 函数替代。
在PHP 7 中,系统提供了更好的函数,可以替代 crypto_rand_secure 使用,就是 random_bytes 和 random_int。使用内置函数,我们将 getToken 函数改造如下:
当然少不了的测试结果,我们批量生成一些 32 位长度的字符串。
写在最后
本文深入探讨了生成随机数字,进而生成指定长度的字符串,实现函数并进行了测试。大家可以在机器环境进行测试。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
Php如何限制用户重复登陆?
您说的是不同的设备,用一个账号同时登陆吧,也就是您只允许一个账号登陆。
分两步解决:
1:在用户表保存一个标识,用户没登陆的时候标识为0,登陆标识为1;如果有其他设备登陆进来,先判断如果标识为1,表示已经登陆,不能再登陆。或者替换先前的登陆,即把以前的登陆挤下去。但这样会有一个问题,如果用户非正常退出,则会导致混乱,所以还要进行第二部。
2:用户表加时间戳,用户登陆后获取服务器的时间戳,用户的每一次操作都变更时间戳,如果用户非正常退出,先判断时间戳,假如设定用户30分钟没操作就退出,那么时间戳大于30分钟,判断用户自动下线。
还没有评论,来说两句吧...