PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Funções da cURL> <Constantes pré-definidas
Last updated: Fri, 22 Aug 2008

view this page in

Exemplos

Após você ter compilado o PHP com suporte a cURL, você pode começar a usar as funções cURL. A idéia basica por trás das funções cURL é que você começa uma sessão cURL usando curl_init(), então você define todas as suas opções para a transferência com curl_setopt(), então você executa a sessão com curl_exec() e você termina a sua sessão usando a função curl_close(). Aqui está um exemplo que usa as funções cURL para obter a homepage example.com em um arquivo:

Exemplo #1 Usando o módulo cURL para obter a homepage example.com

<?php

$ch 
curl_init("http://www.example.com/");
$fp fopen("example_homepage.txt""w");

curl_setopt($chCURLOPT_FILE$fp);
curl_setopt($chCURLOPT_HEADER0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>



Funções da cURL> <Constantes pré-definidas
Last updated: Fri, 22 Aug 2008
 
add a note add a note User Contributed Notes
Exemplos
randearievilo at gmail dot com
16-Jun-2008 08:39
This simple code work fine using libcurl versions before 7.18.x.

<?php
        $ch
= curl_init("www.example.com/curl.php?option=test");
       
curl_setopt($ch, CURLOPT_HEADER, 0);
       
curl_setopt($ch, CURLOPT_POST, 1);
       
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       
$output = curl_exec($ch);      
       
curl_close($ch);
        echo
$output;
?>

If you have some trouble (Ex.: Failed to open/read local data from file/application) using a similar code with libcurl 7.18.x, try to add the option curl_setopt($ch, CURLOPT_POSTFIELDS, "").

I think there was a change in the option CURLOPT_POST. Now, to use this option, it seems to be necessary to set the option CURLOPT_POSTFIELDS.
jlee8df at gmail dot com
31-May-2008 06:21
Update to my previous code:

For every return statement, call "curl_close($ch);" or "fclose($fp);"
or both to pair up "curl_init()" and/or "fopen()".

For example:
<?php
 
// ...

  // this statement:
  // if( !curl_setopt($ch, CURLOPT_URL, $url) ) return "FAIL: curl_setopt(CURLOPT_URL)";

  // should be:
 
if( !curl_setopt($ch, CURLOPT_URL, $url) )
  {
   
fclose($fp); // to match fopen()
   
curl_close($ch); // to match curl_init()
   
return "FAIL: curl_setopt(CURLOPT_URL)";
  }

 
// ...
?>

- JLèé
jlee8df at gmail dot com
30-May-2008 11:47
Basic cURL file or page download with basic error trapping.

<?php

function cURLcheckBasicFunctions()
{
  if( !
function_exists("curl_init") &&
      !
function_exists("curl_setopt") &&
      !
function_exists("curl_exec") &&
      !
function_exists("curl_close") ) return false;
  else return
true;
}

/*
 * Returns string status information.
 * Can be changed to int or bool return types.
 */
function cURLdownload($url, $file)
{
  if( !
cURLcheckBasicFunctions() ) return "UNAVAILABLE: cURL Basic Functions";
 
$ch = curl_init();
  if(
$ch)
  {
   
$fp = fopen($file, "w");
    if(
$fp)
    {
      if( !
curl_setopt($ch, CURLOPT_URL, $url) ) return "FAIL: curl_setopt(CURLOPT_URL)";
      if( !
curl_setopt($ch, CURLOPT_FILE, $fp) ) return "FAIL: curl_setopt(CURLOPT_FILE)";
      if( !
curl_setopt($ch, CURLOPT_HEADER, 0) ) return "FAIL: curl_setopt(CURLOPT_HEADER)";
      if( !
curl_exec($ch) ) return "FAIL: curl_exec()";
     
curl_close($ch);
     
fclose($fp);
      return
"SUCCESS: $file [$url]";
    }
    else return
"FAIL: fopen()";
  }
  else return
"FAIL: curl_init()";
}

// Download from 'example.com' to 'example.txt'
echo cURLdownload("http://www.example.com", "example.txt");

?>

- JLèé
jamespic at gmail
15-May-2008 12:24
It only needs to be writable by the web server.
promotions at jdnash dot org
08-May-2008 06:17
If executed via a web browser, the directory in which this code is located must be world writable for the file to be created.

Funções da cURL> <Constantes pré-definidas
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites