PHP: Kendi komut sadece kapatma fonksiyonu aracılığı ile gönderilen al http durum kodu

0 Cevap php

Ben bir shutdown function bu yönlendirme sadece verildiği olmadığını denetler var. Dan headers_list() Ben gönderilen başlıkları almak ve konum başlığını görebilirsiniz. Benim soru http_yanıt_kodu header() fonksiyonunda kullanılan ne anlamaya olacaktınız. Başlıkları liste yanıt kodu yok.

Ile oynamak için örnek kod. Ben aksi takdirde döngü olur, örnek kod Yönlendermelerin kullanmayın. Ana şey yönlendirmenin başka türlü vs 301 algılamak istiyorum değildir. Bu (drupal_goto kullanarak üzerinden hook_exit) drupal içinde olacağını; ama aşağıda örnek kod sorunu gösterir. Ben durumu numarası başlığının () üzerinden tarayıcıya geçildi bilmenin bir yolu yoktur.

<?php
register_shutdown_function('test');

if (mt_rand(0, 1)) {
  header('X-test: junk 1', TRUE, 201);
}
else {
  header('X-test: junk 0', TRUE, 202);
}

exit();


function test() {
  if ($location = test_headers_contain('X-test: ')) {
    // Would like to check the status code that was sent out
    echo $location . '<br>';
    $list = headers_list();
    $txt = str_replace('    ', '&nbsp;&nbsp;&nbsp;&nbsp;', nl2br(htmlentities(print_r($list, TRUE))));
    echo $txt;
  }
}

function test_headers_contain($text) {
  if (function_exists('headers_list')) {
    $list = headers_list();
    if (empty($list)) {
      return FALSE;
    }
    foreach ($list as $header) {
      $info = stristr($header, $text);
      if ($info !== FALSE) {
        return $info;
      }
    }
  }
  return FALSE;
}
?>

Bu kod çıktılar

X-test: junk 1
Array
(
    [0] => X-Powered-By: PHP/5.2.10
    [1] => X-test: junk 1
)

0 Cevap