PHP函数整理(二)

2016-12-22  本文已影响0人  SkyHive

以下均参考自 php.net

1.curl_setopt_array()

此函数为CURL传输会话批量设置选项。这个函数对于需要设置大量的curl选项是非常有用的,不需要重复的调用curl_setopt().

语法:

bool curl_setopt_array(resource $ch,array $options)

参数:

返回值:

如果全部的选项都被成功设置,返回 TRUE.如果一个选项不能被成功设置,马上返回FALSE,忽略其后的任何在options数组中的选项。

Example:

#初始化一个新的CURL会话并抓取一个web页面
<?php
    //创建一个新CURL资源
    $ch = curl_init();

    //设置URL和相应的选项
    $options = array(
        CURL_URL => 'http://www.example.com/',
        CURL_HEADER => false
        );
    curl_setopt_array($ch,$options);

    //抓取URL并把它传递给浏览器
    curl_exec($ch);

    //关闭CURL资源,并且释放系统资源
    curl_close($ch);
?>

2.curl_exec()

执行给定的CURL会话。这个函数应该在初始化一个CURL会话并且全部的选项都被设置后被调用。

语法:

mixed curl_exec(resource $ch)

参数:

返回值:

成功时返回TRUE,或者在失败时返回FALSE。然而,如果CURLOPT_RETURNTRANSFER选项被设置,函数执行成功时会返回执行的结果,失败时返回FALSSE。

Example:获取一个网页

<?php
    //创建一个CURL资源
    $ch = curl_init();

    //设置URL和相应的选项
    curl_setopt($ch,CURLOPT_URL,"http://www.example.com/");
    curl_setopt($ch,CURLOPT_HEADER,0);

    //抓取URL并把它传递给浏览器
    curl_exec($ch);

    //关闭CURL资源,并且释放系统资源
    curl_close($ch);
?>

3.curl_getinfo()

获取一个CURL连接资源句柄的信息

语法:

mixed curl_getinfo(resource $ch [,int $opt = 0])

参数:

返回值:

如果opt被设置,以字符串形式返回它的值。否则返回一个关联数组。

Example:

<?php
    //创建一个CURL句柄
    $ch = curl_init('http://www.yahoo.com/');
    //执行
    curl_exec($ch);

    //检查是否有错误发生
    if (!curl_errno($ch)){
        $info = curl_getinfo($ch);
        echo 'Took'.$info['total_time'].'second to second a request to'.$info['url'];
    }
    //close handle
    curl_close($ch);
?>

4.preg_match()

执行一个正则表达式匹配

语法:

//搜索subject与pattern给定的正则表达式的一个匹配
int preg_match (string $pattern,string $subject [,array $matches[,int $flags = 0[,int $offset = 0]]])

参数:

返回值:

preg_match()返回pattern的匹配次数。它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后将会停止搜索。preg_match_all()不同于此,它会一直搜索subject直到到达结尾。如果发生错误preg_match()返回FALSE

Example1:

<?php
    //模式分隔符后的"i"标记这是一个大小写不敏感的搜索
    if(preg_match("/php/i","PHP is the web scripting language of choice.")){
        echo "A match was found.";
    }else{
        echo "A match was not found.";
    }
?>

Example2: 获取URL中的域名

<?php
    //从URL中获取主机名
    preg_match('@^(?:http://)?([^/]+)@i',"http://www.php.net/index.html",$matches);
    $host = $matches[1];

    //获取主机名的后面两部分
    preg_match('/[^.]+\.[^.]+$/',$host,$matches);
    echo "domain name is : {$matches[0]}\n";
?>
上一篇 下一篇

猜你喜欢

热点阅读