Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : CURL, Client URL Library Functions : curl_init

curl_init

Initialize a cURL session (PHP 4 >= 4.0.2, PHP 5)
resource curl_init ( [string url] )

Example 431.  Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Related Examples ( Source code ) » curl_init



Code Examples / Notes » curl_init

ru dot dy

The curl-functions can be used to check the ICQ-webstatus from an icq-number, to get the status as a string rather than as one of those standard images provided from ICQ. This can also be used to place your own Image instead of simple text, to show ones online-status, of course if activated in the options. The idea behind is to get just the text from the apache-site that would lead us to the picture  that shows the online status. curl does not do any redirect, as long as we don't set CURLOPT_FOLLOWLOCATION. This is nice because the image can change, as long as the paths and filenames (contained in the site-text) don't. The different states are stored in a short array of unsigned crc-values.
<?php
class ICQ {
 
var $crc = array('253889085' => 'offline', '1177883536' => 'online', '1182613274' => 'hidden');
//CRCs valid as long as the redirect-page does not change
 
function getCrc($url) {
  $ch = curl_init();
  curl_setopt ($ch, CURLOPT_URL, $url);
  curl_setopt ($ch, CURLOPT_HEADER, 0);
  ob_start();
  curl_exec ($ch);
  curl_close ($ch);
  $cache = ob_get_contents();
  ob_end_clean();
  //print($cache);
  return (string)abs(crc32($cache));
}
 
function status($number) {
  $check = $this->getCrc( 'http://status.icq.com/online.gif?icq=' . $number . '&img=5');
  if (in_array($check, array_keys($this->crc))) {
    return $this->crc[$check];
  }
  return false;
}
   
}
?>
Usage:
<?php
$icq = new ICQ();
print($icq->status('123456789'));
?>
Outputs 'online', 'offline' or 'hidden'.


darkstar_ae

For some reason on some webservers it may not be able to understand what cURL is doing. If you're getting unexpected results (like getting no output when the URL is valid) while using curl_init(). Add a trailing slash '/' after the url if you haven't done so already.

rossixx

e.g. you can check how many characters are on test_1.php
or you can it use for more, i have used this function for a nagios check.
<?PHP
echo "CURL - function test
" ;
if ($load == 1){
function webcheck ($url) {
       $ch = curl_init ($url) ;
       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
       $res = curl_exec ($ch) ;
       curl_close ($ch) ;
       return ($res) ;
}
echo "url = $url
" ;
$erg = webcheck("my_page.php/test_1.php") ;
$zahl = strlen ($erg) ;
echo "length = $zahl " ;
?>


ezyang

curl_init() has undefined behavior if you pass 'false' to it and can crash when you try to copy the resulting handle using curl_copy_handle(). Keep this in mind if you create a wrapper object for CURL.

josé enrique serrano expósito

<?php
vWritePageToFile( 'http://es.php.net', 'es.php.net.txt' );
?>
... And the text file stand in the server in the same folder that the script.
This is the function code.-
<?php
function vWritePageToFile( $sHTMLpage, $sTxtfile ) {
$sh =          curl_init( $sHTMLpage );
$hFile =                       FOpen( $sTxtfile, 'w' );
curl_setopt( $sh, CURLOPT_FILE, $hFile );
curl_setopt( $sh, CURLOPT_HEADER, 0 );
curl_exec  ( $sh );
$sAverageSpeedDownload = curl_getInfo( $sh, CURLINFO_SPEED_DOWNLOAD );
$sAverageSpeedUpload   = curl_getInfo( $sh, CURLINFO_SPEED_UPLOAD );
echo '<pre>';
echo 'Average speed download == ' . $sAverageSpeedDownload . '
';
echo 'Average Speed upload    == ' . $sAverageSpeedUpload   . '
';
echo '
';
$aCURLinfo = curl_getInfo( $sh );
print_r( $aCURLinfo );
echo '</pre>';
curl_close(  $sh );
FClose    (  $hFile );
echo '(<b>See the file  "'.$sTxtfile.'"  in the same path of the hosting'.
     ' to where this script PHP</b>).
';
}
?>


Change Language


Follow Navioo On Twitter
Constants
curl_close
curl_copy_handle
curl_errno
curl_error
curl_exec
curl_getinfo
curl_init
curl_multi_add_handle
curl_multi_close
curl_multi_exec
curl_multi_getcontent
curl_multi_info_read
curl_multi_init
curl_multi_remove_handle
curl_multi_select
curl_setopt_array
curl_setopt
curl_version
eXTReMe Tracker