diff options
Diffstat (limited to 'ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt')
-rw-r--r-- | ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt b/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt new file mode 100644 index 0000000..9de2c0f --- /dev/null +++ b/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt @@ -0,0 +1,54 @@ +--TEST-- +cURL option CURLOPT_READFUNCTION +--CREDITS-- +WHITE new media architects - Jeroen Vermeulen +#testfest Utrecht 2009 +--SKIPIF-- +<?php +if (!extension_loaded("curl")) print "skip cURL extension not loaded"; +?> +--FILE-- +<?php +function custom_readfunction($oCurl, $hReadHandle, $iMaxOut) +{ + $sData = fread($hReadHandle,$iMaxOut-10); # -10 to have space to add "custom:" + if (!empty($sData)) + { + $sData = "custom:".$sData; + } + return $sData; +} + +$sFileBase = dirname(__FILE__).DIRECTORY_SEPARATOR.'curl_opt_CURLOPT_READFUNCTION'; +$sReadFile = $sFileBase.'_in.tmp'; +$sWriteFile = $sFileBase.'_out.tmp'; +$sWriteUrl = 'file://'.$sWriteFile; + +file_put_contents($sReadFile,'contents of tempfile'); +$hReadHandle = fopen($sReadFile, 'r'); + +$oCurl = curl_init(); +curl_setopt($oCurl, CURLOPT_URL, $sWriteUrl); +curl_setopt($oCurl, CURLOPT_UPLOAD, 1); +curl_setopt($oCurl, CURLOPT_READFUNCTION, "custom_readfunction" ); +curl_setopt($oCurl, CURLOPT_INFILE, $hReadHandle ); +curl_exec($oCurl); +curl_close($oCurl); + +fclose ($hReadHandle); + +$sOutput = file_get_contents($sWriteFile); +var_dump($sOutput); +?> +===DONE=== +--CLEAN-- +<?php +$sFileBase = dirname(__FILE__).DIRECTORY_SEPARATOR.'curl_opt_CURLOPT_READFUNCTION'; +$sReadFile = $sFileBase.'_in.tmp'; +$sWriteFile = $sFileBase.'_out.tmp'; +unlink($sReadFile); +unlink($sWriteFile); +?> +--EXPECT-- +string(27) "custom:contents of tempfile" +===DONE=== |