mirror of
https://github.com/php/php-src.git
synced 2024-10-04 08:16:11 +00:00
63 lines
1.4 KiB
PHP
63 lines
1.4 KiB
PHP
--TEST--
|
|
Curl_multi_getcontent() basic test with different sources (local file/http)
|
|
--CREDITS--
|
|
Rein Velt (rein@velt.org)
|
|
#TestFest Utrecht 20090509
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded('curl')) print 'skip need ext/curl';
|
|
if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) {
|
|
exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
|
|
}
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
//CURL_MULTI_GETCONTENT TEST
|
|
|
|
//CREATE RESOURCES
|
|
$ch1=curl_init();
|
|
$ch2=curl_init();
|
|
|
|
//SET URL AND OTHER OPTIONS
|
|
$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
|
|
curl_setopt($ch1, CURLOPT_URL, "{$host}/get.php?test=getpost&get_param=Hello%20World");
|
|
curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__). DIRECTORY_SEPARATOR . "curl_testdata2.txt");
|
|
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
|
|
|
|
//CREATE MULTIPLE CURL HANDLE
|
|
$mh=curl_multi_init();
|
|
|
|
//ADD THE 2 HANDLES
|
|
curl_multi_add_handle($mh,$ch1);
|
|
curl_multi_add_handle($mh,$ch2);
|
|
|
|
//EXECUTE
|
|
$running=0;
|
|
do {
|
|
curl_multi_exec($mh,$running);
|
|
} while ($running>0);
|
|
|
|
$results1=curl_multi_getcontent($ch1);
|
|
$results2=curl_multi_getcontent($ch2);
|
|
|
|
//CLOSE
|
|
curl_multi_remove_handle($mh,$ch1);
|
|
curl_multi_remove_handle($mh,$ch2);
|
|
curl_multi_close($mh);
|
|
|
|
echo $results1;
|
|
echo $results2;
|
|
|
|
?>
|
|
--EXPECTF--
|
|
array(2) {
|
|
["test"]=>
|
|
string(7) "getpost"
|
|
["get_param"]=>
|
|
string(11) "Hello World"
|
|
}
|
|
array(0) {
|
|
}
|
|
CURL2
|