手记

php curl函数封装

 
<?php
    /*
    CURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。
    PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。
    封装php curl 直接可以使用 
    */
function curl_post ($url, $postfields = '', $headers = '', $timeout = 20, $file = 0){
        $ch = curl_init();//初始化一个的curl对话,返回一个链接资源句柄
        $options = array(
                CURLOPT_URL => $url,
                CURLOPT_HEADER => false,
                CURLOPT_NOBODY => false,
                CURLOPT_POST => true,
                CURLOPT_TIMEOUT => $timeout,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_SSL_VERIFYHOST => 0,
                CURLOPT_SSL_VERIFYPEER => 0
        );
        if (is_array($postfields) && $file == 0) {
            $options[CURLOPT_POSTFIELDS] = http_build_query($postfields);
        } else {
            $options[CURLOPT_POSTFIELDS] = $postfields;
        }
        curl_setopt_array($ch, $options);//
        if (is_array($headers)) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        }
        $result = curl_exec($ch);//执行一个的curl对话
        $code = curl_errno($ch);//返回一个的包含当前对话错误消息的数字编号
        $msg = curl_error($ch);//返回一个的包含当前对话错误消息的char串
        $info = curl_getinfo($ch);//获取一个的curl连接资源的消息
        curl_close($ch);//关闭对话,并释放资源
        return array(
                'data' => $result,
                'code' => $code,
                'msg' => $msg,
                'info' => $info
        );
    }
//使用方法 
$url = 'http://****/***?';//远程连接的地址
$postdata = array('param1'=>'value1','param2'=>'value2'...);//参数=>值 可以传多个参数
$ch = curl_post($url,$postdata);
var_dump($ch['data']);
?>


0人推荐
随时随地看视频
慕课网APP