这个地方有几个常用的函数,介绍下:
define — 定义一个常量
defined — 检查某个名称的常量是否存在
和常量有关系的函数,常用define定义一个常量。
exit — 输出一个消息并且退出当前脚本
die — 等同于 exit()
这两个都是终止函数,不论放在哪里,只要是执行了就可以让整个脚本停止运行,很有用的。
利用这两个函数程序终止前可以打印一个字符串,exit()括号里可填入一个字符串。记住是字符串,如果您想打印出数字1,就得加上引号,因为如果参数是一个 integer,该值会作为退出状态码,不会被打印输出。
eval — 把字符串作为PHP代码执行
很有趣的函数,虽说用的少吧,有时候还真能解决一些问题,没它不行。等到学习对象工厂设计模式时,就能用到它。
还有一点需注意,eval里的字符串参数最好是用单引号包裹,因为双引号包裹,像字符串里的变量(“$a”)会被执行的,原字符串就被破坏掉了。
sleep — 延缓执行
起到暂停的作用。它的参数是秒数,当执行到这个函数时,PHP脚本会暂停住,等到设置的秒数已过,才会往下继续执行。sleep函数多用于调试程序和演示效果用。
set_time_limit——作用延长脚本运行时间
PHP一般默认脚本运行时间是30秒,如果超过30秒还没有运行完程序,PHP就会自动超时。
当php运行于安全模式时,此功能不能生效。
可以使用ini_get('safe_mode')查看PHP是不是安全模式。
注意:sleep函数不受set_time_limit影响。什么意思呢?
一个PHP脚本执行这样的代码:
set_time_limit(10); //脚本最大运行时间10秒 sleep(20); //中间睡眠20秒 while(true){} //死循环 echo 'OK';
这个PHP脚本运行的时间是20秒,报错:
Fatal error: Maximum execution time of 10 seconds exceeded
不输出“OK”。
亦或这样:
set_time_limit(20); //脚本最大运行时间20秒 sleep(10); //中间睡眠10秒 while(true){} //死循环 echo 'OK';
PHP脚本运行时间也是20秒,报错:
Fatal error: Maximum execution time of 20 seconds exceeded
不输出“OK”。
结论:当sleep设置的时间(睡眠时间)大于脚本的最大运行时间时,sleep依然起作用,脚本暂时不报超时错误。当达到sleep的时间后,才会报错误。
set_time_limit(10); //脚本最大运行时间10秒 sleep(20); //中间睡眠20秒 echo 'OK';
依然是20秒后报错,不输出“OK”。
uniqid — 生成一个唯一ID
基于当前时间微妙数生成的一个唯一ID。一个脚本程序里,用这个函数生成多个ID是不是都是唯一的?也不一定,假如两个ID生成间隔时间都不超过一微妙,就有可能会是一样的ID号,所以不要过度信赖这个函数。生成多个ID号时,可以在生成的ID号后面再追加上不同的数字,这样就能确保ID唯一。为了防止上传的文件同名而覆盖掉原有的文件,常用uniqid给上传的文件重命名。