PHP Curl, где я могу найти список целочисленных эквивалентных констант - PullRequest
10 голосов
/ 08 декабря 2010

Я использую библиотеку Codeigniter Curl, а автор использует целочисленные эквиваленты параметров curl.В руководстве по php это сказано для curl_setopt_array :

Ключи должны быть действительными константами curl_setopt () или их целочисленными эквивалентами.

Как мне определитьЧто такое целочисленные эквиваленты для константы?Я гуглил, но ничего не нашел.

Спасибо, Марк

Ответы [ 4 ]

16 голосов
/ 08 декабря 2010
$arr = get_defined_constants(true);
var_dump($arr['curl']);
5 голосов
/ 08 декабря 2010

Чтобы развернуть ответ ajreal

$constants = get_defined_constants(true);
$curlOptLookup = preg_grep('/^CURLOPT_/', array_flip($constants['curl']));

var_dump($curlOptLookup);

Выше приведен целочисленный поиск, поэтому будет работать следующее:

echo $curlOptLookup[119]; // outputs "CURLOPT_FTP_SSL"

Если вы хотитепараметры, правильный путь вокруг него нужно перевернуть снова:

$curlOpts = array_flip($curlOptLookup);

echo $curlOpts['CURLOPT_FTP_SSL']; // outputs 119
1 голос
/ 01 ноября 2018

Просто помните, что некоторые константы имеют одинаковое значение, связанное с ними, в ответах выше они будут перезаписаны.Чтобы получить полный список, вы не можете заполнить массив.

$arr = get_defined_constants(true);
foreach ($arr['curl'] as $k => $v) {
    if (preg_match('/CURLOPT/',$k)) {
            print $v." => '$k',\n";
    }
}

Например, Вывод для 10026: -

10026 => 'CURLOPT_SSLCERTPASSWD'
10026 => 'CURLOPT_SSLKEYPASSWD'
10026 => 'CURLOPT_KEYPASSWD'
1 голос
/ 08 декабря 2010

Эхо / распечатать их ...

Пример:

<?php
echo(CURLOPT_URL);
...