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.
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($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
Exemplos
randearievilo at gmail dot com
16-Jun-2008 08:39
16-Jun-2008 08:39
jlee8df at gmail dot com
31-May-2008 06:21
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
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èé
promotions at jdnash dot org
08-May-2008 06:17
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.
