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::sendEnvoie la réponse

Description

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

Envoie la réponse.

Si c'est un succès, le script se termine et une entrée dans l'historique est écrite si le directive de configuration INI http.log.cache est défini. Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".

Liste de paramètres

clean_ob

si l'on doit détruire tous les gestionnaires de sortie précédemment démarrés ainsi que leurs buffers

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec HttpResponse::send()

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

Voir aussi



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 09: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 02: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 09: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