1

PHP 5.3 と Curl を使用しています。

1 つの関数ですべての呼び出しを処理できるように、curl 呼び出しをより柔軟にしたいと考えています。私が抱えている問題は、カールオプションにあります。

CURLOPT_POST などの値を使用して LONG 値を表します。

関数をより柔軟にするために、これらのオプションをデフォルトで設定し、渡された配列に基づいて変更したいと考えています。

元;

function doCurl($options){
   $defaults = array('CURLOPT_POST' => true, 'CURLOPT_HEADER' => false);
   foreach($options AS $k=>$v) $defaults[$k] = $v;
   foreach($defaults AS $opt_k=>$v) curl_setopt($curl, $opt_k, $v)

}

では、元の変数の LONG 値を取得できるように $opt_k を処理するにはどうすればよいでしょうか?

4

3 に答える 3

0
function doCurl($options) {
   $defaults = array(CURLOPT_POST => true, CURLOPT_HEADER => false);
   curl_setopt_array($curl, !empty($options) ? ($options + $defaults) : $defaults);
}

$curl 変数が関数のスコープ内で未定義であるという事実を除いて、おそらくそれを処理する方法を知っているでしょう。

文字列を定数値に変換する場合は、次のようなものを使用します。

function get_curlopt_from_string($str) {
    if (preg_match('/^CURLOPT_/', $key) && defined($str)) {
        return eval('return $str;');
    }
    return $str;
}
于 2013-09-24T04:18:58.703 に答える