Curl doesn't handle memory stream
| From: | Peter Smit | Date: | Tue, 27 Nov 2007 21:43:41 +0000 |
| Subject: | Curl doesn't handle memory stream | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-265099@lists.php.net to get a copy of this message | ||
Hello,
I've got quite a strange problem with the curl library.
The following code does output Content||\Content instead of
Content|example.orgoutput|\Content
$c = curl_init("http://example.com");
$st = fopen("php://memory", "r+");
curl_setopt($c, CURLOPT_FILE, $st);
if(!curl_exec($c)) die ("error: ".curl_error($c));
rewind($st);
echo "Content|".htmlspecialchars(stream_get_contents($st))."|/Content";
fclose($st);
If I use a file stream instead it works as expected:
$c = curl_init("http://example.com");
$file = "/tmp/phptest".rand()."";
touch($file);
$st = fopen($file, "r+");
curl_setopt($c, CURLOPT_FILE, $st);
if(!curl_exec($c)) die ("error: ".curl_error($c));
rewind($st);
echo "Content|".htmlspecialchars(stream_get_contents($st))."|/Content";
fclose($st);
unlink($file);
What's the problem? Does PHP not support memory streams in Curl?
Peter