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

search for in the

http_negotiate_language> <http_negotiate_charset
Last updated: Sun, 08 Nov 2009

view this page in

http_negotiate_content_type

(PECL pecl_http >= 0.19.0)

http_negotiate_content_typeİstemcinin tercih ettiği içerik türünde uzlaşır

Açıklama

string http_negotiate_content_type ( array $destekli [, array &$sonuç ] )

Bu işlev, Accept HTTP başlığına dayanarak istemcinin tercih ettiği içerik türünde uzlaşır. Niteleyiciler tanınır ve niteleyicisiz içerik türleri en yüksek dereceye ayarlanır.

Değiştirgeler

destekli

Desteklenen içerik türlerini değer olarak içeren dizi.

sonuç

Uzlaşım sonuçlarını içeren diziyle doldurulur.

Dönen Değerler

Uzlaşılan içerik türüyle veya eşleşme sağlanamazsa öntanımlı içerik türüyle (ilk dizi girdisi) döner.

Örnekler

Örnek 1 - http_negotiate_content_type() kullanımı

<?php
$content_types 
= array('application/xhtml+xml''text/html');
http_send_content_type(http_negotiate_content_type($content_types));
?>



add a note add a note User Contributed Notes
http_negotiate_content_type
Vasil Rangelov
21-Sep-2007 12:18
Newer versions of this extension fix the bug from the previous note.

Still, if you want to ensure there's no match, you can use the array, as the array will remain empty.

I used this fact in the following technique to ensure good content negotiation between application/xhtml+xml and text/html, since IE sends only "*/*" and thus receives application/xhtml+xml if you use the current sample from the documentation.

<?php
$bestContentType
= http_negotiate_content_type(array('application/xhtml+xml', 'text/html'),
$contentTypes);
$contentType = (empty($contentTypes) ? 'text/html' : $bestContentType);
http_send_content_type($contentType);
?>

Note that at the time of writing, Opera accepts text/html with this approach, because it places application/xhtml+xml with a lower qualifier.
Pieter van Beek
03-Jul-2007 04:38
The documentation says:

Returns the negotiated content type or the default content type (i.e. first array entry) if none match.

It would seem that in fact, this method returns the empty string or NULL if none match.

http_negotiate_language> <http_negotiate_charset
Last updated: Sun, 08 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites