前段时间总结的一些函数都是一些字符串的处理函数,现在总结的这些都是一些功能类型的函数。还是那句话,函数是基础,文章本天成,妙手偶得之。这些函数有机的组合可以实现任何的功能。关键是不要局限于自己的一个小天地,要在实现功能的基础上,探索更好的实现方式。不断的完善自己的程序。
1、$_SERVER['HTTP_HOST'] 获取访问域名
这个函数的作用是只获取域名,不会包含后面的文件路径
而$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"] 是输出的地址栏信息,之前我们做的一个手机站,就是通过绑定域名,来用一个系统调用不同的数据信息。
2.、$_SERVER['HTTP_USER_AGENT'] 获取文件的头信息
这个头信息包括你所有的操作系统,浏览器,版本等等。我们就是通过这个函数来让网站实现手机站和普通站的跳转的。
3、mkdir(‘路径‘);创建文件夹 Copy(‘旧路径‘,’新路径‘) 复制文件
Rename(‘旧路径‘,’新路径‘); 重命名文件夹, unlink(‘删除文件‘);这四个函数最好用@注释警告。这四个函数组合可以实现非常强大的功能,比如网站每开一个用户,就给他一个独立的模板,就可以通过复制公共模板来实现,当用户修改了名字时用重命名,删除时用unlink
4、list($width, $height) = getimagesize($filename);获取图片的宽和高。虽然GD库也有专门的函数,但是还是php的函数更高效。这样就可以对上传图片限制宽高等了。
5、这个是一个简单的获取真实ip的方法。可以封装一下
$cip = getenv(‘REMOTE_ADDR’);
$cip1 = getenv(‘HTTP_CLIENT_IP’);
$cip2 = getenv(‘HTTP_X_FORWARDED_FOR’);
$cip1 ? $cip = $cip1 : null;
$cip2 ? $cip = $cip2 : null;
echo $cip;
6、$_SERVER[SCRIPT_FILENAME] 当前执行脚本路径,包括所得到参数。
7、$_SERVER[QUERY_STRING] 问号后面的内容
8、$_SERVER['PHP_SELF']; 域名后的内容,不包括参数
9、$_SERVER['HTTP_REFERER'] 来路页面,这个很有用,尤其是做统计的时候,但也要保证有来路页面而非直接访问,不然就@一下。前面所有的$_SERVER都=getenv
10、round() 获取四舍五入后的值
11、有的时候点击后退后,之前表单写的东西都不见了,这是因为开启了session的原因。解决办法是在session_start();之前加一个session_cache_limiter(‘private, must-revalidate’);
<?php
session_cache_limiter(‘private, must-revalidate’);
session_start();
………..
……….
?>
12、解析计算
$str = ’1+1′;
eval(“\$o=$str;”);
13、去掉html样式
echo strip_tags($str);
htmlentities去掉html样式,原样输出就是让浏览器不解析里面的html标签
14、输出带有微秒的时间戳 microtime(true);
15、获取路径中的中文部分 basename(路径);
因为有的时候路径中有中文会有错误,可以用urlencode($filename);//转码,将中文转换成%数,将空格转换为+。空格为%20
16、获取内存使用量 memory_get_usage()
17、pow(2,16) 2的16次方
18、range(0,100) 创建指定范围的数组
19、shuffle(array)将数组打乱 这个有的时候很好用
20、krsort(array) 将数组进行逆向排序,键保持关联
21、$_FILES[filename][error] 存储与文件上传相关的错误代码其返回值有5种
0:表示没有任何错误,文件上传成功
1:便会上传文件大小超出了php配置文件指令upload_max_filesize选项限制的值
2:表示上传文件的大小超出了html表中max_file_sieze选项中所指定的值(input
type=”hidden” name=”MAX_FILE_SIZE” value=”10000″ /)
3:表示文件只上传了一部分
4:表示没有上传任何文件
22、array_unique()一维数组去重
23、 count(array[,1]) 统计数组元素的个数;可选参数1加上可以统计多维数组个数
24、array_pop(array)获取数组的最后一个元素,只统计第一层
25、array_search(needle,array) 搜索元素,获得其键值,只去第一个(如果重复)
26、$zi = iconv(“gb2312″,”UTF-8″,”张存超“); 将文字由utf-8转为gb2312
27、修改SESSION的生存时间
28、其实 Session 还提供了一个函数session_set_cookie_params();来设置session的生存期的,该函数必须在session_start()之前调用,如:
<?php
$life_time = 24*3600;
Session_set_cookie_params($life_time);
Session_start();
?>
29、set_time_limit()设置php的最大执行时间 默认30秒