几个比较有用的php内置函数

代码级别的小优化之一:优先使用php内置函数

以下几个是可以用到内置函数的场景

1.filter_var函数

    比如用在验证输入文本是不是邮箱地址:filter_var('123456@qq.com',FILTER_VALIDATE_EMAIL);返回的值是匹配到正确的邮箱地址的结果

类似的还有网址的验证filter_var('http://www.baidu.com',FILTER_VALIDATE_URL);

2.prase_url函数

解析url 返回各个组成部分

<?php


$url = 'https://www.baidu.com/web/http/index.html?a=add&b=bad';


print_r(parse_url($url));


echo parse_url($url, PHP_URL_PATH);

?>

以上结果会输出:

Array ( [scheme] => https [host] => www.baidu.com [path] => /web/http/index.html [query] => a=add&b=bad ) /web/http/index.html

3.http_build_query

生成 URL-encode 之后的请求字符串

当我们过滤url传递过来的参数后,可以将这些参数以数组的形式传入http_build_query()来构建出query参数:

$url="https://www.baidu.com";
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');


$query=http_build_query($data);
$uri=$url.'?'.$query;

echo $uri;

?>

4.exif_imagetype()   

判断一个图像的类型

有时候我们会写一个自定义函数来判断一个图片的后缀,但是有些情况下,你修改了图片的后缀依然能用,但是图片的真正的后缀我们缺不知道了,该函数能够获取到图片信息的真正的文件类型。如下:

<?php

//去一个png图片来实验

$image='./1.png';

$type=exif_imagetype($image);

var_dump($type);
//结果返回3 表示png文件类型

?>

此时将该图片文件的后缀改为jpg,改图片仍然能正常使用,但是该函数返回的结果仍然是3,定义有以下常量,并代表了 exif_imagetype() 可能的返回值:


该函数用于对判断图片类型有较高要求的情况,另外getimagesize()函数返回的结果中的第三个参数跟exif_imagetype()返回的结果是一样的,但是exif_imagetype()函数要快得多,所以推荐使用exif_imagetype()函数。

note:使用该函数必须开启extension=php_exif.dll  拓展 而且必须在extension=php_mbstring.dll之后!否则会报错:Call to undefined function exif_imagetype()..

5.$_SERVER

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。

比较经常用到的有:

$_SERVER['REMOTE_ADDR']:浏览当前页面的用户的 IP 地址。

$_SERVER['HTTP_HOST']:当前请求头中 Host: 项的内容,如果存在的话。

$_SERVER['SERVER_ADDR']:当前运行脚本所在的服务器的 IP 地址

$_SERVER['REQUEST_TIME_FLOAT']:请求开始时的时间戳,微秒级别的精准度。 自 PHP 5.4.0 开始生效。

$_SERVER[SERVER_NAME']:当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。

Note在 Apache 2 里,必须设置 UseCanonicalName = On 和 ServerName。 否则该值会由客户端提供,就有可能被伪造。 上下文有安全性要求的环境里,不应该依赖此值。

。。。

其他比较经常用到的内置函数可以参考:http://www.php.cn/php-weizijiaocheng-370987.html




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值