downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

HttpResponse::setBufferSize> <HttpResponse::redirect
[edit] Last updated: Fri, 25 May 2012

view this page in

HttpResponse::send

(PECL pecl_http >= 0.10.0)

HttpResponse::sendレスポンスを送信する

説明

static bool HttpResponse::send ([ bool $clean_ob = true ] )

エンティティを送信します。

キャッシュ処理に成功すると PHP の処理を終了します。そして、 INI 設定 http.log.cache が設定されている場合にはログにエントリを書き出します。 "終了" の意味については、INI 設定 http.force_exit を参照ください。

パラメータ

clean_ob

事前に開始されている出力ハンドラとそのバッファを すべて破壊するかどうか。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 HttpResponse::send() の例

<?php
HttpResponse
::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf"false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>

参考



HttpResponse::setBufferSize> <HttpResponse::redirect
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes HttpResponse::send
lymber 18-Jan-2010 02:35
how to respond to a http request
Note that if you output data before sending the response then you will get a warning saying: Cannot modify header information - headers already sent. So do not echo any data in your responding script.
<?php
//process the request by fetching the info
$headers = http_get_request_headers();
$result = http_get_request_body();
//do stuff with the $headers and $result variables....
//then send your response
HttpResponse::status(200);
HttpResponse::setContentType('text/xml');
HttpResponse::setHeader('From', 'Lymber');
HttpResponse::setData('<?xml version="1.0"?><note>Thank you for posting your data! We love php!</note>');
HttpResponse::send();
?>
mbyrd at cloudcache dot net 10-Sep-2008 08:35
I figured out a way to return a response and then keep doing lots of other work:
<?php

HttpResponse
::setCache(true);
HttpResponse::setContentType('text/html');      
HttpResponse::setData("<html>hellow world...</html>");
HttpResponse::send();

flush();
// Response has been sent

sleep(30);

define_syslog_variables();
openlog("cloudcacheLog", LOG_PID , LOG_LOCAL0);
syslog(LOG_INFO, "Writing log well after send and flush...");

?>

Response time according to LORI (firefox addon):  0.130s - tailing /var/log/syslog - message hits 30 seconds later.
barnett dot [NOSPAM]thomas at gmail dot com 25-May-2008 03:31
I was having a problem with the bytes appended to the output, using the given example.

<?php
...
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>

Content-Length mismatch: Response Header claimed x bytes, but server sent x+5 bytes.

Adding an exit statement solved this problem.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites