php两个时间怎么弄,请问怎样用PHP生成长度为5字符的随机字符串?
如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串,文章整理了几种生成随机字符串的方法。方法一
1、在33 – 126中生成一个随机整数,如35。
2、将35转换成对应的ASCII码字符,如35对应#。
3、重复以上1、2步骤n次,连接成n位的密码。
该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据需要调整范围,如ASCII码表中 97 – 122 位对应 a – z 的英文字母,具体可参考 ASCII码表; chr ( int $ascii )函数用于将对应整数 $ascii 转换成对应的字符。
方法二
1、预置一个的字符串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符。
2、在 $chars 字符串中随机取一个字符。
3、重复第二步n次,可得长度为n的密码。
方法三
1、预置一个的字符数组 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符。
2、通过array_rand()从数组$chars中随机选出$length个元素。
3、根据已获取的键名数组 $keys,从数组$chars取出字符拼接字符串。该方法的缺点是相同的字符不会重复取。
时间效率对比
我们使用以下PHP代码,计算上面的3 个随机密码生成函数生成6 位密码的运行时间,进而对他们的时间效率进行一个简单的对比。最终得出的结果是:
方法一:9.8943710327148E-5 秒 方法二:9.6797943115234E-5 秒 方法三:0.00017499923706055 秒 可以看出方法一和方法二的执行时间都差不多,而方法三的运行时间稍微长了点。通过比较三种方法的实现过程,时间效率对比,学习了PHP生成随机字符串的三种方法,希望可以对大家今后的学习有所帮助。
学习Nodejs时需要学习什么?
第一步
对于刚接触Node.js的新手来说,第一步无非是打好基础,你需要弄明白以下事情:
JavaScript 的特性和语法。假如你对 JavaScript 还不熟悉的话,推荐书籍及链接:JavaScript 推荐书籍列表深入理解JavaScript系列Node.js 是什么?Node.js与JavaScript的区别是什么?Node.js的优点?Node.js的缺点?Node.js适用场景?Node.js不适用的场景?Node.js的基本语法。Node.js的特性:单线程异步 IO事件驱动npm 是什么?npm的基本使用REPL等等其实上面的内容,大部分Node.js的书籍都有介绍。基本了解了Node.js后,我们可以写一些 hello world 的程序:
搭建一个 HTTP 服务器,返回 hello, world 。(使用 HTTP 模块)读取一个 txt 文件,将内容显示到命令行中。(使用 fs 模块)等等第二步
你也许想,Node.js 只有那些少得可怜的核心模块能做什么呢?别担心,npm 上目前有近 7W 的第三方模块,月下载量高达 2.1亿 (2014—4—20 数据)… 这才是 Node.js 的活力所在。当你对Node.js已经了解的差不多了,并且按耐不住跃跃欲试了。这个时候,我们不妨用 Node.js 的第三方模块做些好玩的事情:
搭建一个微博网站搭建一个博客网站搭建一个在线聊天室写一个简单的爬虫调用一些网站的API做一些好玩的东西等等但是,并不是说 Node.js 只能做以上事情,几乎其他语言能做的事情 Node.js 都能做,而且有些情况下能做的更好。
第三步
当然,就像学 js 也不能只会用框架一样,学习 Node.js 也不能只会用外部模块。这个时候,我们需要回头深入了解下 Node.js 核心模块的用法。说白了,就是好好看 Node.js 官方 API 文档。看文档是码农必备技能,英语不好的童鞋浏览器装个划词翻译的插件。
第四步
多实践。不管是用核心模块还是外部模块,尝试用 Node.js 解决某个问题或者替换掉以前用其他语言写过的代码。读源码。这里说的读源码并不是说上来就去读 Node 或者其他较大的框架的源码。这个时候,挑一些简单的只实现某个特定功能的工具模块的源码读,这种模块的代码通常在几百行,阅读起来并不是很困难,但是却能涨不少的姿势。比如:underscore (学习 JavaScript 的语法和技巧)等等第五步
坚持第四步。在使用 Node.js 时发现没有合适的模块选择或者选择的模块功能不尽人意,这个时候你可以尝试去创建一个模块或者修改现有的模块,并且使用 npm 发布自己的模块或者去该模块的 GitHub 上提 PR 。
第六步
多实践。这个就不用解释了读 Node 源码及较大的框架的源码。提高必备多关注下 GitHub 上的牛人重复第1-6步PS:贯穿始终的是买几本 Node.js 的书读,推荐《深入浅出Node.js》。
php里获取前一天的时间?
//获得当前时间
//date()格式化时间返回String类型。 date("Y-m-d H:i:s")
$current_date = date(’Y-m-d’,time());
//根据当前时间加一周后
$weekLater = date(’Y-m-d’,strtotime("$current_date + 1 week"));
echo $weekLate;
// 2009-05-26 加一天的日期
$tomorrow = date(’Y-m-d’,strtotime("2009-05-26 + 1 day"));
echo $tomorrow; // 2009-05-27
也可以这样 date("Y-m-d",strtotime("-1 day")) ;直接获得前一天时间
PHP一般需要学习多久?
php学会一般要3个月,如果你靠买书自学的话,估计一年都不一定学得会,建议去培训机构报名学习3个月,当然培训机构学习要交报名费,但可以从最基础开始学,容易接受也学得快,学习氛围浓厚,自学的话有不懂的地方又没有老师交,这样学习的很慢,如果要学会php,建议去培训机构报名学习。
关于ASP或PHP运行超时的处理?
1,修改ASP脚本超时时间限制 右击需要修改的站点,选择“属性”,然后选择“主目录”,再选择“配置”。 选择“选项”,在ASP脚本超时中修改下时间,确定下就可以了。2,修改PHP脚本超时时间限制FastCGI ErrorThe FastCGI Handler was unable to process the request. --------------------------------------------------------------------------------Error Details:•The FastCGI process exceeded configured activity timeout•Error Number: 258 (0x80070102).•Error Description: µÈ´ýµÄ²Ù×÷¹ýʱ¡£ HTTP Error 500 Server Error.Internet Information Services (IIS) 如果服务器正常,本错误往往发生在提交一个很大的字符串时发生。原因就是在处理如此“巨大”的字符串提交请求时,服务器处理超时了。可以通过设置fcgiext.ini里面的超时配置和php.ini里的超时配置来解决。当然,根据个人对服务器设置的不同,可能还需要修改更多配置信息。比如允许一次性提交多少数据。 大概给该网站建立一个独立的应用程序池也可以解决某些因此原因导致的问题。 在C:\WINDOWS\system32\inetsrv文件夹中找到fcgiext.ini文件。 注意:如果是新版的PHP环境,fcgiext.ini文件是存放在C:\ZkeysSoft\php\目录。 打开文件后,里面关于php脚本活动超时时间(ActivityTimeout)的配置信息如下:[Types]php=PHP[PHP]ExePath=c:\PHP\php-cgi.exeInstanceMaxRequests=500EnvironmentVars=PHP_FCGI_MAX_REQUESTS:1000ActivityTimeout=1200 里面的数字可以自行调整。上面的提示,即配置文件里的ActivityTimeout=600 这个时间超时设置,600是10分钟,最大可以设置为6000一小时。但不一定就是这个原因引起的。