PHPKonf Istanbul PHP Conference 2019 - Call for Papers

curl_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_initcURL セッションを初期化する

説明

resource curl_init ([ string $url = NULL ] )

新規セッションを初期化し、cURL ハンドルを返します。このハンドルは、関数 curl_setopt(), curl_exec(), curl_close() で使用します。

パラメータ

url

urlを指定した場合、オプション CURLOPT_URL がそのパラメータの値に設定されます。関数 curl_setopt() により、 この値をマニュアルで設定することも可能です。

注意:

open_basedir が設定されている場合、cURL で file プロトコルは使えなくなります。

返り値

成功した場合に cURL ハンドル、エラー時に FALSE を返します。

例1 新しい cURL セッションを初期化し、ウェブページを取得する

<?php
// 新しい cURL リソースを作成します
$ch curl_init();

// URL や他の適当なオプションを設定します
curl_setopt($chCURLOPT_URL"http://www.example.com/");
curl_setopt($chCURLOPT_HEADER0);

// URL を取得し、ブラウザに渡します
curl_exec($ch);

// cURL リソースを閉じ、システムリソースを解放します
curl_close($ch);
?>

参考

add a note add a note

User Contributed Notes 7 notes

up
43
jharris at et2brut dot us
8 years ago
Just to clarify:

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

Spaces in the querystring need to be replaced with a +
up
33
James P
5 years ago
Regarding spaces in URLs;
Please read
http://php.net/manual/en/function.urlencode.php
up
-12
ezyang at php dot net
11 years ago
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.
up
-12
ageesen at videro dot com
3 years ago
Curl_init as well as CURLOPT_URL don't like to have static strings as parameter.

I came across this by accident and it took me very long to find out. curl_exec will throw error 3 (Malformed) and you tipple check the URL in it's variable only to find by trial and error that it's declaration is the culprit.
So never do this:

static $someurl = "http://www.example.com/interfacce.php";
....
$ch=curl_init($someurl);
....
$return=curl_exec($ch);

Cheers
up
-19
darkstar_ae at hotmail dot com
12 years ago
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.
up
-35
rossixx at gmx dot net
11 years ago
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 <br>" ;
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 <br>" ;

$erg = webcheck("my_page.php/test_1.php") ;
$zahl = strlen ($erg) ;
echo
"length = $zahl " ;
?>
up
-41
Tugrul
3 years ago
<?php
function curl($url,$posts=""){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, $posts ? 0 :1;);
curl_setopt($ch, CURLOPT_POSTFIELDS,$posts);
$icerik = curl_exec($ch);
return
$icerik;
curl_close($ch);
}
/*Bu fonksiyonu kullanarak kolayca curl yi kullanabilirsiniz.
Kullanımı*/
echo curl("http://gencbilgin.net/");
?>

Bu kodlar http://gencbilgin.net/curl-kutuphanesi-ve-kullanimi.html adresinden alınmıştır...
To Top