Я видел много разных способов использования CURL в PHP.Какой является "правильным"? - PullRequest
1 голос
/ 22 марта 2012

Я читал, что CURL слишком быстр, чем File Get Contents, и требует меньше памяти. Итак, я пойду с CURL. Я прочитал несколько статей, чтобы найти информацию об этом и о том, как правильно и эффективно его использовать.
Проблема в том, что я нашел много способов использования CURL, я опубликовал 3 варианта ниже.

У меня вопрос, какой из них лучше всего использовать?

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
  $content = curl_exec($ch);


     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $path);
     curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     $cache = curl_exec($ch);
     curl_close($ch);


 $ch = curl_init("");
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $result = curl_exec($ch);
 curl_close ($ch);

Ответы [ 3 ]

2 голосов
/ 22 марта 2012

Все зависит от того, какие варианты вы хотите.Большинство параметров cURL будут иметь некоторые значения по умолчанию, которые будут установлены, если вы не установите параметр вручную.

Например: CURLOPT_RETURNTRANSFER по умолчанию имеет значение FALSE (поэтому установка его в FALSE в вашем коде будет избыточной).

Передача параметра в curl_int - это просто ярлык для CURLOPT_URL.Все остальные параметры зависят от того, что вы хотите сделать.

Вот список всех параметров cURL: http://php.net/manual/en/function.curl-setopt.php

Выберите нужные параметры, исключите те, которые вы не делаете.Там нет «правильного» пути, просто способ, который работает так, как вы хотите.

1 голос
/ 22 марта 2012

Это все равно что спросить,

Я видел множество способов, которыми люди пишут PHP, но какой из них прав?

Нет правильного ответа на этот вопрос, поскольку у каждого будет свое мнение по каждому вопросу.

Итак, я предлагаю вам прочитать руководство по PHP.net по CURL и выберите правильный метод на основе вашего стиля кодирования, требований и конструкции.

0 голосов
/ 02 мая 2012

1 - это SSL (https: // или ftps: //)

2 Я думаю, что это обычный старый ftp: // или http: // url

3 Я неуверен, что это такое.выглядит как общий URL-адрес без SSL.

Вы проверили примечания в примере и прочитали документацию, чтобы увидеть, что именно выполняет функция или код?Вы можете отправить curl_init строку URL.

получить документацию .chm с примечаниями.это очень поможет и ускорит ваши исследования.

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

<?php
function getfile($url) {
$result="";
$protocol=substr($url,0,strstr($url,":"))
if ("https"==$protocol || "ftps"==$protocol) {
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
   curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
   $content = curl_exec($ch);
} else {
   //it's http or ftp
   $ch = curl_init($url);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $result = curl_exec($ch);
   curl_close ($ch);
}
return $result;
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...