curl_setopt

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

curl_setoptBir cURL aktarım seçeneği tanımlar

Açıklama

curl_setopt ( resource $ct , int $seçenek , mixed $değer ) : bool

Belirtilen cURL oturum tanıtıcısı üzerinde bir seçenek tanımlar.

Değiştirgeler

ct

curl_init() işlevinden dönen bir cURL tanıtıcısı.

seçenek

Atanacak CURLOPT_XXX seçeneği.

değer

Atanacak seçenek değeri.

değer değiştirgesine aşağıdaki seçenek'ler için bir mantıksal değer atanmalıdır:

Seçenek Atanacak değer Ek bilgi
CURLOPT_AUTOREFERER Bir Location: yönlendirmesini izleyen bir isteğin Referer: başlığının özdevinimli olarak atanması için TRUE olmalıdır.
CURLOPT_BINARYTRANSFER CURLOPT_RETURNTRANSFER kullanıldığında ham çıktı dönmesi için TRUE olmalıdır.
CURLOPT_COOKIESESSION Oturumu yeni bir çerez oturumu olarak imlemek için TRUE olmalıdır. libcurl'un önceki oturumdan yüklenecek oturum çerezlerini yoksaymasına sebep olur. Öntanımlı olarak libcurl, oturum çerezi olup olmadıklarına bakmaksızın tüm çerezleri daima saklar ve yükler. Oturum çerezleri için belli bir zaman aşımı yoktur ve atandıkları oturum boyunca etkindirler.
CURLOPT_CRLF Aktarım sırasında Unix satırsonlarını CRLF satırsonlarına dönüştürmek için TRUE olmalıdır.
CURLOPT_DNS_USE_GLOBAL_CACHE Küresel DNS önbelleğini kullanmak için TRUE olmalıdır. Bu seçenek evreler bakımından güvenli değildir ve öntanımlı olarak etkindir.
CURLOPT_FAILONERROR Dönen HTTP kodunun 400'e eşit veya büyük olması durumunda sessiz kalmak için TRUE olmalıdır. Öntanımlı davranış kodu yok sayıp sayfayı normal olarak döndürmektir.
CURLOPT_FILETIME Uzak belgenin değişiklik tarihi alınmaya çalışılacaksa TRUE olmalıdır. Bu değer, curl_getinfo() ile CURLINFO_FILETIME seçeneği kullanılarak alınabilir.
CURLOPT_FOLLOWLOCATION HTTP başlığının bir parçası olarak sunucunun gönderdiği "Location: " başlığını izlemek için TRUE olmalıdır. Bu izleme, CURLOPT_MAXREDIRS tanımlanmadıkça ardışıktır, yani PHP gönderilen tüm "Location: " başlıklarını izleyecektir.
CURLOPT_FORBID_REUSE İşlem bittiğinde yeniden kullanım için havuzlanmaksızın ve beklemeksizin bağlantının mutlaka kapatılması için TRUE olmalıdır.
CURLOPT_FRESH_CONNECT Önbellektekini kullanmaksızın yeni bir bağlantı açmak için TRUE olmalıdır.
CURLOPT_FTP_USE_EPRT Etkin FTP indirmeleri yapılırken EPRT (ve LPRT) kullanmak için TRUE olmalıdır. EPRT ve LPRT'yi iptal edip sadece PORT kullanmak için FALSE kullanın.
CURLOPT_FTP_USE_EPSV PASV'ye dönmeden önce FTP aktarımı için önce EPSV komutunu denemek için TRUE olmalıdır.
CURLOPT_FTPAPPEND Uzak dosyanın üzerine yazmak yerine sonuna ekleme yapmak için TRUE olmalıdır.
CURLOPT_FTPASCII CURLOPT_TRANSFERTEXT için takma addır; onun yerine bunu kullanın.
CURLOPT_FTPLISTONLY Sadece FTP dizinindeki isimler listelenecekse TRUE olmalıdır.
CURLOPT_HEADER Çıktıda başlık bulunması için TRUE olmalıdır.
CURLOPT_HTTPGET HTTP istek yönteminin GET olması için TRUE olmalıdır. GET öntanımlı olduğundan bu sadece istek yöntemi değiştiğinde işe yarar.
CURLOPT_HTTPPROXYTUNNEL Belirtilen HTTP vekili üzerinden tünel kullanılacaksa TRUE olmalıdır.
CURLOPT_MUTE cURL işlevleriyle ilgili olarak tamamen sessiz kalınması için TRUE olmalıdır.
CURLOPT_NETRC Bağlantı kurulan uzak site için kullanıcı adını ve parolasını bulmak amacıyla ~/.netrc dosyasına bakılmasını sağlamak için TRUE olmalıdır.
CURLOPT_NOBODY Çıktıdaki gövdeyi dışlamak için TRUE olmalıdır. Ardından istek yöntemi HEAD yapılır. Bunu FALSE olarak değiştirmek yöntemi GET yapmaz.
CURLOPT_NOPROGRESS

cURL aktarımının gelişim göstergesini kapatmak için TRUE olmalıdır.

Bilginize:

PHP bu seçeneğe öntanımlı olarak TRUE atar. Bu sadece hata ayıklama amacıyla değiştirlmelidir.

CURLOPT_NOSIGNAL PHP sürecine bir sinyal gönderilmesine sebep olan cURL işlevlerini yoksaymak için TRUE olmalıdır. Çok evreli SAPI'lerde, öntanımlı olarak böyledir; dolayısıyla zaman aşımı seçenekleri hala kullanılabilir olur. cURL 7.10'da eklendi.
CURLOPT_POST Normal bir HTTP POST yapmak için TRUE olmalıdır. Bu, HTML formlarında sıklıkla kullanılan normal application/x-www-form-urlencoded çeşididir.
CURLOPT_PUT Bir dosyaya HTTP PUT yapmak için TRUE olmalıdır. Bu dosya CURLOPT_INFILE ve CURLOPT_INFILESIZE ile atanmalıdır.
CURLOPT_RETURNTRANSFER Aktarımı doğrudan çıktılamak yerine bir dizge olarak curl_exec() işlevinden döndürmek için TRUE olmalıdır.
CURLOPT_SSL_VERIFYPEER cURL'un eş sertifikasını doğrulamayı durdurması için FALSE olmalıdır. Doğrulayıcı diğer sertifikalar CURLOPT_CAINFO seçeneği ile belirtilebileceği gibi CURLOPT_CAPATH seçeneği ile bir sertifika dizini de belirtilebilir. Ayrıca, CURLOPT_SSL_VERIFYHOST seçeneği de TRUE veya FALSE olabilir (öntanımlı olarak 2 olan CURLOPT_SSL_VERIFYPEER iptal edilmişse). cURL 7.10 itibariyle öntanımlı olarak TRUE'dur.
CURLOPT_TRANSFERTEXT FTP aktarımlarında ASCII kip kullanmak için TRUE olmalıdır. LDAP için veri, HTML yerine salt metin olarak alınır. Windows sistemlerinde, STDOUT'a ikil kip atanmaz.
CURLOPT_UNRESTRICTED_AUTH (CURLOPT_FOLLOWLOCATION kullanarak) Location: yönlendirmelerini izlerken konut ismi değişse bile, kullanıcı ve parola gönderimini sağlamak için TRUE olmalıdır.
CURLOPT_UPLOAD Karşıya yüklemeye hazır olmak için TRUE olmalıdır.
CURLOPT_VERBOSE Ayrıntılı bilgi çıktılanması için TRUE olmalıdır. Çıktıyı standart hataya veya CURLOPT_STDERR kullanarak belirtilen dosyaya yazar.

değer değiştirgesine aşağıdaki seçenek'ler için bir tamsayı atanmalıdır:

Seçenek Atanacak değer Ek bilgi
CURLOPT_BUFFERSIZE Okuma için kullanılacak tamponun boyutu. Ancak, bu isteğin yerine getirileceğinin bir garantisi yoktur. cURL 7.10'da eklendi.
CURLOPT_CLOSEPOLICY CURLCLOSEPOLICY_LEAST_RECENTLY_USED veya CURLCLOSEPOLICY_OLDEST olabilir. Bunlardan başka CURLCLOSEPOLICY_ önekli üç sabit daha vardır, ancak, bunlar cURL tarafından henüz desteklenmemektedir.
CURLOPT_CONNECTTIMEOUT Saniye cinsinden bağlantının deneneceği süre. Bağlantının sonsuza kadar beklenmesi için 0 kullanın.
CURLOPT_CONNECTTIMEOUT_MS Milisaniye cinsinden bağlantının deneneceği süre. Bağlantının sonsuza kadar beklenmesi için 0 kullanın. cURL 7.16.2'de eklendi. PHP 5.2.3'ten beri kullanılabilmektedir.
CURLOPT_DNS_CACHE_TIMEOUT Saniye cinsinden DNS girdilerinin bellekte kalma süresi. Bu seçeneğin öntanımlı değeri 120 saniyedir.
CURLOPT_FTPSSLAUTH FTP kimlik doğrulama yöntemi (etkinse): CURLFTPAUTH_SSL (önce SSL denenir), CURLFTPAUTH_TLS (önce TLS denenir) veya CURLFTPAUTH_DEFAULT (cURL karar verir). cURL 7.12.2'de eklendi.
CURLOPT_HTTP_VERSION CURL_HTTP_VERSION_NONE (öntanımlı olup hangi sürümün kullanılacağına CURL karar verir), CURL_HTTP_VERSION_1_0 (HTTP/1.0 zorlanır), veya CURL_HTTP_VERSION_1_1 (HTTP/1.1 zorlanır).
CURLOPT_HTTPAUTH

HTTP kimlik doğrulama yöntem(ler)i: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY ve CURLAUTH_ANYSAFE.

Birden fazla yöntem belirtilecekse sabitler arasında bitsel VEYA işleci kullanılabilir. Bu takdirde, cURL belirtilen yöntemlerden hangisinin sunucu tarafından en iyi desteklendiğini saptamaya çalışır ve onu kullanır.

CURLAUTH_ANY sabiti CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM ifadesi için bir kısaltmadır.

CURLAUTH_ANYSAFE sabiti CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM ifadesi için bir kısaltmadır.

CURLOPT_INFILESIZE Dosya karşıya yüklenirken dosyanın bayt cinsinden tahmini boyutu.
CURLOPT_LOW_SPEED_LIMIT PHP'nin aktarımın çok yavaş olduğunu varsayarak çıkması için, CURLOPT_LOW_SPEED_TIME saniye süresince aktarımın altında kalacağı, saniyedeki bayt sayısı olarak aktarım hızı.
CURLOPT_LOW_SPEED_TIME PHP'nin aktarımın çok yavaş olduğunu varsayarak çıkması için, aktarım hızının CURLOPT_LOW_SPEED_LIMIT'in altında kalacağı, saniye cinsinden aktarım süresi.
CURLOPT_MAXCONNECTS İzin verilen kalıcı bağlantıların azami sayısı. Bu sınıra ulaşıldığında hangi bağlantının kapatılacağını saptamak için CURLOPT_CLOSEPOLICY kullanılır.
CURLOPT_MAXREDIRS İzlenecek HTTP yönlendirmelerinin azami sayısı. CURLOPT_FOLLOWLOCATION ile birlikte kullanılır.
CURLOPT_PORT Bağlantı için kullanılacak ikincil port numarası.
CURLOPT_PROTOCOLS

CURLPROTO_* değerlerinden oluşan bir bit maskesi. libcurl'un aktarımda kullanabileceği protokolleri belirler. Bu seçenek, kurulu libcurl'un geniş bir protokol çeşidini desteklemesini gerektirir. Seçenekle bu protokollerin bir alt kümesi belirtilebilir. libcurl öntanımlı olarak, desteklediği tüm protokolleri kabul edecektir. Ayrıca, CURLOPT_REDIR_PROTOCOLS seçeneğine de bakınız.

Olası protokol seçenekleri: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL

cURL 7.19.4'te eklendi.
CURLOPT_PROXYAUTH Vekil bağlantı için kullanılacak HTTP kimlik doğrulama yöntem(ler)i. CURLOPT_HTTPAUTH seçeneğindeki bit maskesi kullanılır. Vekil kimlik doğrulaması için şimdilik sadece CURLAUTH_BASIC ve CURLAUTH_NTLM desteklenmektedir. cURL 7.10.7'de eklendi.
CURLOPT_PROXYPORT Bağlanılacak vekil port numarası. Port numarası CURLOPT_PROXY ile de atanabilir.
CURLOPT_PROXYTYPE CURLPROXY_HTTP (öntanımlı) veya CURLPROXY_SOCKS5 olabilir. cURL 7.10'da eklendi.
CURLOPT_REDIR_PROTOCOLS CURLPROTO_* değerlerinden oluşan bir bit maskesi. CURLOPT_FOLLOWLOCATION etkin olduğu takdirde, bir yönlendirme izlenirken libcurl'un aktarımda kullanacağı protokoller belirtilir. Bu seçenek, yönlendirmelerde aktarımın belli protokollerle sınırlanmasına imkan verir. libcurl öntanımlı olarak FILE ve SCP haricinde tüm protokollere izin verir. Bu davranış, izlemelerde tüm protokollerin koşulsuz olarak desteklendiği 7.19.4 öncesi sürümlerden farklıdır. Protokol sabitleri için CURLOPT_PROTOCOLS seçeneğine de bakınız. cURL 7.19.4'te eklendi.
CURLOPT_RESUME_FROM Bayt cinsinden aktarımın devam ettirileceği konum.
CURLOPT_SSL_VERIFYHOST SSL eş sertifikasında ortak bir ismin varlığına bakılması için 1 olmalıdır. Ortak bir ismin varlığının yanında sağlanan konak ismi ile eşleşmenin de aranması için 2 olmalıdır.
CURLOPT_SSLVERSION Kullanılacak SSL sürümü (2 veya 3). Öntanımlı olarak PHP bunu kendi saptamaya çalışırsa da bazı durumlarda bunun elle belirtilmesi gerekir.
CURLOPT_TIMECONDITION CURLOPT_TIMEVALUE değerinin nasıl ele alınacağı belirtilir. Sayfayı sadece, CURLOPT_TIMEVALUE ile belirtilen süre içinde değiştirilmediği takdirde döndürmek için CURL_TIMECOND_IFMODSINCE kullanın. Sayfa değişmişse, CURLOPT_HEADER seçeneğinin TRUE olduğu varsayımıyla "304 Not Modified" (304 değişiklik yok) başlığı döndürülür. Bu davranışı ters çevirmek için CURL_TIMECOND_IFUNMODSINCE kullanın. CURL_TIMECOND_IFMODSINCE öntanımlıdır.
CURLOPT_TIMEOUT cURL işlevlerinin çalışmasına izin verilecek azami saniye sayısı.
CURLOPT_TIMEOUT_MS cURL işlevlerinin çalışmasına izin verilecek azami milisaniye sayısı. cURL 7.16.2'de eklendi. PHP 5.2.3'ten beri kullanılabilmektedir.
CURLOPT_TIMEVALUE 1 Ocak 1970'den beri geçen saniye sayısı. Bu değer CURLOPT_TIMECONDITION tarafından kullanılır. CURL_TIMECOND_IFMODSINCE öntanımlıdır.

değer değiştirgesine aşağıdaki seçenek'ler için bir dizge atanmalıdır:

Seçenek Atanacak değer Ek bilgi
CURLOPT_CAINFO Eşle doğrulanacak bir veya daha fazla sertifikanın tutulduğu dosyanın ismi. Bu sadece CURLOPT_SSL_VERIFYPEER ile birlikte kullanıldığında anlamlıdır.
CURLOPT_CAPATH Çok sayıda CA sertifikasının tutulduğu dizinin yolu. CURLOPT_SSL_VERIFYPEER seçeneğiyle birlikte kullanılır.
CURLOPT_COOKIE HTTP isteğinde kullanılacak "Cookie: " başlığının içeriği. Bir noktalı virgülden sonra gelen bir boşlukla ayrılarak çok sayıda çerez belirtilebilir ("meyve=elma; renk=turkuaz" gibi).
CURLOPT_COOKIEFILE Çerez verisini içeren dosyanın adı. Çerez dosyası Netscape biçeminde veya bir dosyaya dökümlenmiş salt HTTP tarzı başlıklar biçeminde olabilir.
CURLOPT_COOKIEJAR Bağlantı kapandığında tüm dahili çerezlerin kaydedileceği dosyanın ismi.
CURLOPT_CUSTOMREQUEST

Bir HTTP isteği yaparken "GET" veya "HEAD" yerine kullanılacak özel istek yöntemi. "DELETE" veya biraz daha çapraşık HTTP istekleri yapmak için kullanışlıdır. Geçerli değerlerin bazıları: "GET", "POST", "CONNECT"; yani, istek satırının tamamını buraya girmeyin. Örneğin, "GET /index.html HTTP/1.0\r\n\r\n" girdisi yanlış olacaktır.

Bilginize:

Belirteceğiniz istek yöntemini sunucunun desteklediğinden emin olmadan bir şey belirtmeyin.

CURLOPT_EGDSOCKET Bozunum değerlerini toplama uygulamasına bir dosya ismi belirtmesi dışında CURLOPT_RANDOM_FILE gibidir.
CURLOPT_ENCODING "Accept-Encoding: " başlığının içeriği. Yanıtın kodlanmasını sağlar. Desteklenen kodlamalar: "identity", "deflate" ve "gzip". Boş bir dizge "" belirtilirse desteklenen tüm kodlamaları içeren bir başlık gönderilir. cURL 7.10'da eklendi.
CURLOPT_FTPPORT FTP "POST" komutu için kullanılacak IP adresini almakta kullanılacak değer. "POST" komutu, uzak sunucunun bizim belirttiğimiz IP adresine bağlanmasını söyler. Dizge bir IP adresi içerebileceği gibi bir konakismi, (Unix altında) bir ağ arayüzü adı veya sistemin öntanımlı IP adresinin kullanılacağı anlamında '-' olabilir.
CURLOPT_INTERFACE Kullanılacak giden ağ arayüzünün ismi. Bir ağ arabirimi ismi, bir IP adresi veya bir konak ismi olabilir.
CURLOPT_KRB4LEVEL KRB4 (Kerberos 4) güvenlik seviyesi. Geçerli değerler (en güçsüzden en güçlüye doğru): "clear", "safe", "confidential", "private".. Dizge bunlardan biri değilse "private" kullanılır. Bu seçeneğe NULL atanması KRB4 güvenliğini iptal eder. Şimdilik KRB4 güvenliği sadece FTP aktarımlarında çalışmaktadır.
CURLOPT_POSTFIELDS Bir HTTP "POST" işleminde gönderilecek verinin tamamı. Bir dosya göndermek için dosya ismini başına @ koyarak tam yoluyla belirtin. 'para1=val1&para2=val2&...' benzeri kodlanmış bir dizge veya alan isimlerinin anahtar, değerlerinin değer olarak yer aldığı bir dizi belirtilebilir. değer bir dizi ise Content-Type başlığına multipart/form-data atanır.
CURLOPT_PROXY İstekleri tünelleyecek HTTP vekili.
CURLOPT_PROXYUSERPWD Vekil bağlantısı için kullanılacak kullanıcı adı ve parola; "[kullanıcı]:[parola]" biçeminde belirtilir.
CURLOPT_RANDOM_FILE SSL için rasgele sayı üretecini tohumlamakta kullanılacak dosya ismi.
CURLOPT_RANGE X ve Y isteğe bağlı olmak üzere "X-Y" biçeminde alınacak veri aralığı. HTTP aktarımları, "X-Y,N-M" biçeminde virgüllerle ayrılmış olarak çok sayıda aralığı destekler.
CURLOPT_REFERER Bir HTTP isteğinde kullanılacak "Referer: " başlığının içeriği.
CURLOPT_SSL_CIPHER_LIST SSL için kullanılacak şifrelerin listesi. Örneğin, RC4-SHA ve TLSv1 geçerli şifre listeleridir.
CURLOPT_SSLCERT PEM biçemli sertifikayı içeren dosyanın ismi.
CURLOPT_SSLCERTPASSWD CURLOPT_SSLCERT sertifikasını kullanmak için gereken parola.
CURLOPT_SSLCERTTYPE Sertifika biçemi. Desteklenen biçemler: "PEM" (öntanımlı), "DER" ve "ENG". cURL 7.9.3'te eklendi.
CURLOPT_SSLENGINE CURLOPT_SSLKEY ile belirtilmiş gizli SSL anahtarının şifreleme motoru için betimleyici.
CURLOPT_SSLENGINE_DEFAULT Bakışımsız şifreleme işlemleri için kullanılan şifreleme motoru için betimleyici.
CURLOPT_SSLKEY Gizli SSL anahtarını içeren dosyanın ismi.
CURLOPT_SSLKEYPASSWD

CURLOPT_SSLKEY ile belirtilen gizli SSL anahtarını kullanmak için gereken gizli parola.

Bilginize:

Bu seçenekle belirtilen parolayı yetkisiz kişilerin okumaması için PHP betiğini güvenilir bir yerde tutmaya çalışın.

CURLOPT_SSLKEYTYPE CURLOPT_SSLKEYile belirtilen gizli SSL anahtarının anahtar türü. Desteklenen anahtar türleri: "PEM" (öntanımlı), "DER", ve "ENG".
CURLOPT_URL İçeriği alınacak URL. Oturumu curl_init() ile ilklendirirken de belirtilebilir.
CURLOPT_USERAGENT HTTP isteğinde kullanılacak "User-Agent: "başlığının içeriği.
CURLOPT_USERPWD Bağlantı için kullanılmak üzere "[kullanıcı]:[parola]" biçeminde kullanıcı adı ve parola.

değer değiştirgesine aşağıdaki seçenek'ler için bir dizi atanmalıdır:

Seçenek Atanacak değer Ek bilgi
CURLOPT_HTTP200ALIASES Hata değil geçerli yanıtlar olarak ele alınmak üzere HTTP 200 yanıtlarını içeren bir dizi. cURL 7.10.3'te eklendi.
CURLOPT_HTTPHEADER HTTP başlık alanlarını içeren bir dizi.
CURLOPT_POSTQUOTE FTP isteği yapıldıktan sonra sunucu üzerinde çalıştırılacak komutları içeren bir dizi.
CURLOPT_QUOTE FTP isteği yapılmadan önce sunucu üzerinde çalıştırılacak komutları içeren bir dizi.

değer değiştirgesine aşağıdaki seçenek'ler için (örneğin fopen() kullanarak) bir akım özkaynağı atanmalıdır:

Seçenek Atanacak değer Ek bilgi
CURLOPT_FILE Aktarımın yazılacağı dosya. STDOUT (tarayıcı penceresi) öntanımlıdır.
CURLOPT_INFILE Karşıya yükleme sırasında aktarımın okuyacağı dosya.
CURLOPT_STDERR Çıktı hatalarının gönderileceği STDERR yerine kullanılacak dosya.
CURLOPT_WRITEHEADER Aktarımın başlık bölümünün yazılacağı dosya.

değer değiştirgesine aşağıdaki seçenek'ler için bir geriçağırım işlevinin adı atanmalıdır:

Seçenek Atanacak değer Ek bilgi
CURLOPT_HEADERFUNCTION İki değiştirgeli bir geriçağırım işlevinin ismi. Değiştirgelerin ilki bir cURL özkaynağı, ikincisi ise başlık verisinin yazılacağı bir dizge olmalıdır. Başlık verisi bu geriçağırım işlevi kullanılırken yazılmalıdır. İşlevin dönüş değeri yazılan bayt sayısı olmalıdır.
CURLOPT_PASSWDFUNCTION Üç değiştirgeli bir geriçağırım işlevinin ismi. Değiştirgelerin ilki bir cURL özkaynağı, ikincisi parola istemi belirten bir dizge, üçüncüsü ise parolanın azami uzunluğu olmalıdır. İşlevin dönüş değeri parolayı içeren bir dizge olmalıdır.
CURLOPT_PROGRESSFUNCTION Geriçağırım işlevinin üç değiştirge aldığı durumda geriçağırım işlevinin ismi. Değiştirgelerin ilki bir cURL özkaynağı, ikincisi bir dosya tanıtıcısı, üçüncüsü ise uzunluk olmalıdır. İşlevin dönüş değeri veriyi içeren bir dizge olmalıdır.
CURLOPT_READFUNCTION İki değiştirgeli bir geriçağırım işlevinin ismi. Değiştirgelerin ilki bir cURL özkaynağı, ikincisi ise okunacak veriyi iceren bir dizge olmalıdır. Veri bu geriçağırım işlevi kullanılarak okunmalıdır. İşlevin dönüş değeri okunan bayt sayısı olmalıdır. Dosya sonunun bildirmek için ise 0 dönmelidir.
CURLOPT_WRITEFUNCTION İki değiştirgeli bir geriçağırım işlevinin ismi. Değiştirgelerin ilki bir cURL özkaynağı, ikincisi ise yazılacak veriyi içeren bir dizge olmalıdır. Veri bu geriçağırım işlevi kullanılarak yazılmalıdır. İşlevin dönüş değeri yazılan bayt sayısı olmalıdır.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Sürüm Bilgisi

Sürüm: Açıklama
5.2.10 CURLOPT_PROTOCOLS ve CURLOPT_REDIR_PROTOCOLS kullanılabilir oldu.
5.1.0 CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_AUTOREFERER, CURLOPT_PROXYAUTH ve CURLOPT_TIMECONDITION kullanılabilir oldu.
5.0.0 CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE ve CURLOPT_HTTP200ALIASES kullanılabilir oldu.

Örnekler

Örnek 1 - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması

<?php
// Yeni bir cURL özkaynağı oluşturalım
$ct curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ctCURLOPT_URL"http://www.example.com/");
curl_setopt($ctCURLOPT_HEADERfalse);

// URL'yi tarayıcıya aktaralım
curl_exec($ct);

// cURL özkaynağını kapatıp sistem özkaynaklarını serbest bırakalım
curl_close($ct);
?>

Örnek 2 - Karşıya dosya yüklemek

<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch curl_init();

$data = array('name' => 'Foo''file' => '@/home/user/test.png');

curl_setopt($chCURLOPT_URL'http://localhost/upload.php');
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$data);

curl_exec($ch);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => /tmp/phpcpjNeQ
            [error] => 0
            [size] => 279
        )

)

Notlar

Bilginize:

CURLOPT_POSTFIELDS seçeneğine bir dizinin aktarılması verinin multipart/form-data olarak kodlanmasına, bir URL kodlu dizge atanması ise verinin application/x-www-form-urlencoded olarak kodlanmasına sebep olur.

Ayrıca Bakınız