Maison >développement back-end >tutoriel php >php类 方法里调用curl(),不成功

php类 方法里调用curl(),不成功

WBOY
WBOYoriginal
2016-06-06 20:34:041477parcourir

<code>class Qq_api {

    private $list;

    function __construct() {
        $this->list['dsp_id'] = DSP_ID;
        $this->list['token'] = TOKEN;
    }

    function curl_post($end = '') {
$ch = curl_init(URL.$end);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    }

    function sync() {
        $this->curl_post('sync');


        $arr = array();



curl_setopt($ch, CURLOPT_POSTFIELDS,$arr);
$result = curl_exec($ch);
var_dump($result);


    }   
}
</code>

提示:Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in C:\AppServ\www\qq_api2.php on line 45

我是在方法里调用curl(),好像curl()只能在_construct()里面初始化吧,如果是为什么?

回复内容:

<code>class Qq_api {

    private $list;

    function __construct() {
        $this->list['dsp_id'] = DSP_ID;
        $this->list['token'] = TOKEN;
    }

    function curl_post($end = '') {
$ch = curl_init(URL.$end);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    }

    function sync() {
        $this->curl_post('sync');


        $arr = array();



curl_setopt($ch, CURLOPT_POSTFIELDS,$arr);
$result = curl_exec($ch);
var_dump($result);


    }   
}
</code>

提示:Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in C:\AppServ\www\qq_api2.php on line 45

我是在方法里调用curl(),好像curl()只能在_construct()里面初始化吧,如果是为什么?

不好意思,封贴.乱试试出来了。

在类里的方法声明的变量$ch是局部的,把所有$ch地方改成$this->ch就行了

<code>    function curl_post($end = '') {
$this->ch = curl_init(URL.$end);
curl_setopt($this->ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
    }
</code>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn