Hack for php < 5.5 :
function curl_reset(&$ch){
$ch = curl_init();
}
PHP.mk документација
curl_reset
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.curl-reset.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.curl-reset.php
curl_reset
Референца за `function.curl-reset.php` со подобрена типографија и навигација.
curl_reset
Распакување на вгнездени низи
curl_reset — Ресетирај ги сите опции на дадена рачка на libcurl сесија
= NULL
Оваа функција ги реиницијализира сите опции поставени на дадената cURL рачка на стандардните вредности.
Параметри
handlecURL ракувач вратен од curl_init().
Вратени вредности
Не се враќа вредност.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
handle беше вратено при неуспех. CurlHandle
инстанца сега; претходно, а resource се очекуваше.
|
Примери
Пример #1 curl_reset() example
<?php
// Create a curl handle
$ch = curl_init();
// Set CURLOPT_USERAGENT option
curl_setopt($ch, CURLOPT_USERAGENT, "My test user-agent");
// Reset all previously set options
curl_reset($ch);
// Send HTTP request
curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
curl_exec($ch); // the previously set user-agent will be not sent, it has been reset by curl_reset
?>Белешки
Забелешка:
curl_reset() исто така ја ресетира URL-то дадено како curl_init() parameter.
Белешки од корисници 2 забелешки
dev на codesatori dot com ¶
пред 9 години
If you're reusing a cUrl handle and want to ensure there's no residue from previous options -- but are frustrated with resetting the basics (e.g. FTP details) needed for each cURL call -- then here's an easy pattern to fix that:
<?php
class cUrlicue {
protected $curl;
/* Create the cURL handle */
function __construct() {
$this->curl = curl_init();
$this->curl_init_opts();
curl_exec($this->curl);
}
/* Reload your base options */
function curl_init_opts() {
$opts[CURLOPT_PROTOCOLS] = CURLPROTO_FTP;
$opts[CURLOPT_RETURNTRANSFER] = true;
$opts[CURLOPT_USERPWD] = 'user:pass';
//...
curl_setopt_array($this->curl, $opts);
}
/* Use when making a new cURL call */
function curl_exec($opts) {
curl_reset($this->curl); // clears all old options
$this->curl_init_opts(); // sets base options again
curl_setopt_array($this->curl, $opts); // sets your new options
return curl_exec($this->curl);
}
/* Your whatever cURL method */
function curl_get_whatever() {
$opts[CURLOPT_URL] = 'ftp://.../whatever';
//...
$result = $this->curl_exec($opts);
// ...
}
}
?>
Then: each call to $this->curl_exec() from your whatever-method resets the previous options, reloads the base options, adds in your new options, and returns the result. Otherwise, can also put your base options into a class property, instead of in-method, if there's nothing dynamic being defined. Enjoy. =^_^=