curl_init

(PHP 4 >= 4.0.2, PHP 5)

curl_init -- Initialize a CURL session

Description

resource curl_init ( [string url] )

The curl_init() will initialize a new session and return a CURL handle for use with the curl_setopt(), curl_exec(), and curl_close() functions. If the optional url parameter is supplied then the CURLOPT_URL option will be set to the value of the parameter. You can manually set this using the curl_setopt() function.

例子 1. Initializing a new CURL session and fetching a webpage

<?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);
?>

See also: curl_close(), curl_setopt()


add a note add a note User Contributed Notes
darkstar_ae at hotmail dot com
25-May-2006 11:20
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.
ru dot dy at gmx dot net
03-Sep-2005 06:10
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'.
Jos Enrique Serrano Expsito
05-Feb-2005 06:35
<?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 . '<br>';
     echo
'Average Speed upload    == ' . $sAverageSpeedUpload  . '<br>';
     echo
'<br>';
    
$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>).<br>';
   }
?>