PHP Doku:: Eine cURL-Session initialisieren - function.curl-init.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSonstige DiensteCURLcURL Funktionencurl_init

Ein Service von Reinhard Neidl - Webprogrammierung.

cURL Funktionen




(PHP 4 >= 4.0.2, PHP 5)

curl_initEine cURL-Session initialisieren


resource curl_init ([ string $url = NULL ] )

Initialisiert eine neue cURL-Session und gibt einen cURL-Handler zurück, der mit den curl_setopt(), curl_exec(), und curl_close() Funktionen genutzt werden kann.



Sofern angegeben wird die Option CURLOPT_URL mit dem entsprechenden Wert initialisiert. Diese Option kann auch manuell per curl_setopt() gesetzt werden.


Gibt ein cURL-Handle im Erfolgsfall zurück, FALSE im Fehlerfall.


Beispiel #1 Abrufen einer Webseite

// erzeuge einen neuen cURL-Handle
$ch curl_init();
// setze die URL und andere Optionen
// führe die Aktion aus und gebe die Daten an den Browser weiter
// schließe den cURL-Handle und gebe die Systemresourcen frei

Siehe auch

8 BenutzerBeiträge:
- Beiträge aktualisieren...
jharris at et2brut dot us
3.12.2010 23:20
Just to clarify:

Spaces in the URL need to be replaced with a %20.

Spaces in the querystring need to be replaced with a +
james at mettro dot com dot au
13.10.2010 8:05
Someone mentioned you may need to replace spaces with +.

This didn't work for me, I had to replace them with %20, eg:

<?php $url = str_replace(' ', '%20', $url); ?>
6.06.2009 22:25
Be careful when using spaces in the URL... make sure to replace them with + signs, otherwise it won't work.
rossixx at gmx dot net
25.10.2007 18:48
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.

echo "CURL - function test <br>" ;
if (
$load == 1){
webcheck ($url) {
$ch = curl_init ($url) ;
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
$res = curl_exec ($ch) ;
curl_close ($ch) ;
        return (
$res) ;
"url = $url <br>" ;

$erg = webcheck("my_page.php/test_1.php") ;
$zahl = strlen ($erg) ;
"length = $zahl " ;
ezyang at php dot net
24.10.2007 4:31
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.
darkstar_ae at hotmail dot com
25.05.2006 5: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
3.09.2005 0: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.


class ICQ {
$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);
curl_exec ($ch);
curl_close ($ch);
$cache = ob_get_contents();

return (string)abs(crc32($cache));
status($number) {
$check = $this->getCrc( '' . $number . '&img=5');
   if (
in_array($check, array_keys($this->crc))) {


= new ICQ();

Outputs 'online', 'offline' or 'hidden'.
Jos Enrique Serrano Expsito
4.02.2005 23:35
( '', '' );
... And the text file stand in the server in the same folder that the script.
This is the function code.-
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 );
'Average speed download == ' . $sAverageSpeedDownload . '<br>';
'Average Speed upload    == ' . $sAverageSpeedUpload   . '<br>';
$aCURLinfo = curl_getInfo( $sh );
print_r( $aCURLinfo );
curl_close$sh );
FClose    $hFile );
'(<b>See the file  "'.$sTxtfile.'"  in the same path of the hosting'.
' to where this script PHP</b>).<br>';

PHP Powered Diese Seite bei
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)