PHP olan durum kodu algılayabilir veya tarayıcıya göndermek için hazırlanıyor?

3 Cevap php

Böyle header('HTTP/1.1 403'); olarak, başlık fonksiyonu ile bir durum kodu yolluyorum, ve benim kod başka bir alanda ben bir hata kodu gönderdiğiniz varsa (özellikle gönderilecek nedir durum kodu algılamak istiyorum Bazı doğa). Söz edildiği gibi elsewhere, headers_list() Bu özel öğeyi geri dönmez, ve aslında bir başlık olarak sayarsa ne Kundakçı ne Fiddler2 başlıkları ile tedavi gibi, benim için belirsiz. Peki - nasıl bir PHP komut dosyası tarayıcıya gönderilmek üzere hangi durum kodu tespit edebilirsiniz?

Ben doğrusu başlık yöntem etrafında sarıcı işlevi (veya nesne) kullanın veya aksi durum kodu gönderme ile birlikte bazı global değişken set olmaz. Ben de oldukça nedeniyle performans kaygıları, kıvırmak veya benzeri kullanarak kendisi benim kodu aramak istemiyorum. Bana ne düşündüğünüzü bildirin.

3 Cevap

Bir sabit ayar düşünün:

define('HTTP_STATUS', 403);

ve daha sonra defined fonksiyonunu kullanarak:

if(defined('HTTP_STATUS') && HTTP_STATUS == 403) // ...or whatever you're looking to do

Çok yavaş basitçe gibi Aslında başlıklarını kendileri geri Bakmak kendisi kesmek tür: Eğer dizeleri ve diziler ve diğer dağınık her türlü verinin uğraşıyoruz. Kendiniz için basit bir sabitini ayarlayın: hızlı yanan var, aynı şeyi yapar, ve herhangi bir "gerçek" global değişkenler yaratmaz.

Başka bir arama, ama son çare olarak yerine kıvrılması daha bu kullanabilirsiniz. Eğer php 5.0 varsa, ne dersin get_headers()?