当前位置: 首页 > 面试题库 >

如何在不维护状态名称数组的情况下用PHP发送状态代码?

虞正业
2023-03-14
问题内容

我要做的就是404从PHP 发送状态代码-
但采用通用方式。两者Router::statusCode(404)Router::statusCode(403)以及其他任何有效的HTTP状态代码均应正常工作。

我确实知道,您可以将状态代码指定为的第三个参数header。遗憾的是,这仅在您指定时有效string。因此,呼吁header('', false, 404)没有 工作。

而且我知道,可以通过header带有状态行的呼叫发送状态代码:header('HTTP/1.1 404 Not Found')

但是要做到这一点,我必须Not Found为所有状态码(404)维护一个原因短语数组()。我不喜欢这样的想法,因为它某种程度上是PHP已经做的事情的重复(对于第三个header参数)。

所以,我的问题是:是否有任何简单干净的方法来用PHP发送状态代码?


问题答案:

PHP> = 5.4.0中为此提供了一个新功能。
http_response_code

简单地做http_response_code(404)

如果您的PHP版本较低,请尝试header(' ', true, 404);(请注意字符串中的空格)。

如果还要设置原因短语,请尝试:

header('HTTP/ 433 Reason Phrase As You Wish');


 类似资料:
  • 我正在使用React和Redux,我需要用更新的数据更新我的状态。“我的状态”包含如下对象数组: 所以在这个reducer中,我只想用我的负载替换或更新整个状态数组,但不改变我的状态。我的有效负载还包含与上面相同的对象数组,但包含更新的数据。

  • 我对EJB有点陌生。我已经理解了HTTPSession是如何维护的(所有cookie funda)。互联网上所有的资源都写着“有状态会话Bean维护会话(记住客户机)”,但我找不到答案

  • 我对JS中使用Promissions或async/await的异步操作还不熟悉,我正试着对这个概念进行总结。我遇到的一个问题是,如何在多个数组上循环并对每个元素执行异步操作时保持状态。例如,我有以下代码: 虽然上面的代码符合我的目的,但我试图更好地理解基于promise的代码。我意识到循环必须是同步的,逻辑才能工作,但API调用本质上是异步的。我不是在尝试创建异步代码,而是在尝试处理异步代码。暂停

  • 我有两种不同的活动。主要活动,联系人列表 在联系人详细信息 Intent Intent=新的Intent(getBaseContext(),MainActivity)。类);意图putExtra(“联系人编号”,联系人编号);星触觉(意图) 在MainActivity OnResume方法中 字符串数据=getIntent()。getExtras()。getString(“keyName”); a

  • 我的问题是每次调用distinctByKey并产生新的ConcurrentHashMap。如何使用新的ConcurrentHashMap<>()维护状态;?

  • 我有复选框和提交按钮。用户可以使用复选框和按钮单击筛选选项。但现在我要维护此复选框的状态事件。所以用户应该知道哪些复选框已经被选中,并且他们可以从复选框中过滤选项。到现在为止,我能够成功地使用复选框和按钮点击来过滤选项,但是不知道如何维护选中的复选框的状态事件。所以在页面刷新之后,用户应该能够识别选中的复选框事件。我将选中的复选框存储在数据库中作为一个数组,以后再检索它。这里是我的代码:js代码: