php中 // ?>注释为什么不起作用,file_get_contents的超时在PHP中不起作用 (Timeout for file_get_contents don't works in P...

2015-04-23 20:26:57

0

I created a class to englobe some HTTP methods in PHP. Here, I have a method for HTTP POST

public function post ($content, $timeout=null)

{

$timeInit = new DateTime();

$this->method = 'POST';

$header = array();

$header['header'] = null;

$header['content'] = is_array($content) ? http_build_query($content) : $content;

$header['method'] = $this->method;

if ($timeout != NULL) {

$header['header'] .= "timeout: $timeout"

}

$header['header'] .= "Content-length: ".strlen($header['content']);

$headerContext = stream_context_create(array('http' => $header));

$contents = file_get_contents($this->url, false, $headerContext);

$this->responseHeader = $http_response_header;

$timeFinal = new DateTime();

$this->time = $timeInit->diff($timeFinal);

return $contents;

}

Basically, I create a $header and use file_get_contents to POST some $content into a URL.

Aparently, all works fine, except for $timeout. It is not considered. Even when I set it to 1, for example.

I don't see anything wrong and I can't get the headers that I'm sending.

Other similar questions here in SO, suggests to use Curl (I was using it, but I'm changing for file_get_contents for other reasons) or fsockopen, but this is not that I need.

Exists some way to set timeout using file_get_contents?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值