اذهب إلى المحتوى
  • 0

كيفية تغير حالة الرد response status في PHP؟

Emad Saif

السؤال

Recommended Posts

  • 1

تستطيع تغير حالة الرد response status من خلال الدالة http_response_code فقط، على النحو التالي:

<?php 

http_response_code(404); // Not Found

يمكنك إستخدام هذه الدالة لمعرفة حالة الطلب الحالية:

<?php

// Get the new response code
var_dump(http_response_code());	// int(404)

في الإصدارات القديمة من PHP كان يتم إستعمال الدالة header:

header("HTTP/1.1 200 OK");
header("HTTP/1.1 404 Not Found");

يُفضل أن تستعمل الدالة http_response_code إن كان إصدار PHP لديك 5.4 أو أعلى.

ملاحظة: طبقًا لمعاير W3 يجب أن تكون رسالة الحالة (مثل OK و Not Found) مطابقة للمعاير، يمكنك الإطلاع عليها من خلال هذه الصفحة، أو من خلال القائمة التالية:

<?php

$http_status_codes = array(
  100 => "Continue",
  101 => "Switching Protocols",
  102 => "Processing",
  200 => "OK",
  201 => "Created",
  202 => "Accepted",
  203 => "Non-Authoritative Information",
  204 => "No Content",
  205 => "Reset Content",
  206 => "Partial Content",
  207 => "Multi-Status",
  300 => "Multiple Choices",
  301 => "Moved Permanently",
  302 => "Found",
  303 => "See Other",
  304 => "Not Modified",
  305 => "Use Proxy",
  306 => "(Unused)",
  307 => "Temporary Redirect",
  308 => "Permanent Redirect",
  400 => "Bad Request",
  401 => "Unauthorized",
  402 => "Payment Required",
  403 => "Forbidden",
  404 => "Not Found",
  405 => "Method Not Allowed",
  406 => "Not Acceptable",
  407 => "Proxy Authentication Required",
  408 => "Request Timeout",
  409 => "Conflict",
  410 => "Gone",
  411 => "Length Required",
  412 => "Precondition Failed",
  413 => "Request Entity Too Large",
  414 => "Request-URI Too Long",
  415 => "Unsupported Media Type",
  416 => "Requested Range Not Satisfiable",
  417 => "Expectation Failed",
  418 => "I'm a teapot",
  419 => "Authentication Timeout",
  420 => "Enhance Your Calm",
  422 => "Unprocessable Entity",
  423 => "Locked",
  424 => "Failed Dependency",
  424 => "Method Failure",
  425 => "Unordered Collection",
  426 => "Upgrade Required",
  428 => "Precondition Required",
  429 => "Too Many Requests",
  431 => "Request Header Fields Too Large",
  444 => "No Response",
  449 => "Retry With",
  450 => "Blocked by Windows Parental Controls",
  451 => "Unavailable For Legal Reasons",
  494 => "Request Header Too Large",
  495 => "Cert Error",
  496 => "No Cert",
  497 => "HTTP to HTTPS",
  499 => "Client Closed Request",
  500 => "Internal Server Error",
  501 => "Not Implemented",
  502 => "Bad Gateway",
  503 => "Service Unavailable",
  504 => "Gateway Timeout",
  505 => "HTTP Version Not Supported",
  506 => "Variant Also Negotiates",
  507 => "Insufficient Storage",
  508 => "Loop Detected",
  509 => "Bandwidth Limit Exceeded",
  510 => "Not Extended",
  511 => "Network Authentication Required",
  598 => "Network read timeout error",
  599 => "Network connect timeout error"
);

وتستطيع إستخدامها بالشكل التالي:

<?php

header("HTTP/1.1 404 " . $http_status_codes[404]);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...