如何读取 PHP 中的请求标头?

2024-02-12

我应该如何读取 PHP 中的任何标头?

例如自定义标头:X-Requested-With.


IF:你只需要一个标题,而不是allheaders,最快的方法是:

<?php
// Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE (and with '-' replaced by '_')
$headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX'];


ELSE IF:将 PHP 作为 Apache 模块运行,或者从 PHP 5.4 开始,使用 FastCGI(简单方法):

apache_request_headers() http://www.php.net/apache_request_headers

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}


ELSE:在任何其他情况下,您可以使用(用户态实现):

<?php
function getRequestHeaders() {
    $headers = array();
    foreach($_SERVER as $key => $value) {
        if (substr($key, 0, 5) <> 'HTTP_') {
            continue;
        }
        $header = str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))));
        $headers[$header] = $value;
    }
    return $headers;
}

$headers = getRequestHeaders();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}


See Also:
getallheaders() http://php.net/manual/en/function.getallheaders.php - (PHP >= 5.4) cross platform edition Alias of apache_request_headers() apache_response_headers() http://www.php.net/manual/en/function.apache-response-headers.php - Fetch all HTTP response headers.
headers_list() http://www.php.net/manual/en/function.headers-list.php - Fetch a list of headers to be sent.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何读取 PHP 中的请求标头? 的相关文章

  • PHP 7.4 已弃用 get_magic_quotes_gpc 函数替代

    我遇到了我的旧代码之一正在使用的情况get magic quotes gpc 最新版本已弃用PHP 版本 7 4 目前 我有这样的事情 添加斜杠 return get magic quotes gpc addslashes string s
  • 如何使用 PHP 解释 HTML5 输入日期值

    我需要让用户选择一个日期 最好采用 dd mm yy 格式 我决定尝试新的 HTML5 输入日期类型 但是我不知道如何解释它在服务器端给出的值 我得到的值是 yyyy mm dd 我怎样才能做到这一点 如果用户使用不支持它的旧版浏览器怎么办
  • PHP mysql 选择连接

    我有这个功能 以某种形式显示自动建议 function searchbyId params input strtolower params input len strlen input limit isset params limit in
  • Laravel 无法连接 Oracle

    我在用着耶吉拉 laravel oci8 https github com yajra laravel oci8用于 Oracle 与 Laravel 的连接 但我无法从客户端 PC 连接到 Oracle 服务器 showing this
  • 如何处理 BrainTree 中的 Webhook

    我正在尝试使用 BrainTree webhooks 进行订阅交易 但无法让我的页面进行验证 来自脑树 https www braintree payments com docs php webhooks destination verif
  • 从 php/linux 获取 pdf 的布局模式(横向或纵向)

    给定一个 PDF 如何使用 PHP lib 或 Linux 命令行工具获取 PDF 的布局模式 或相对宽度 高度 Using http www tecnick com public code cp dpage php aiocp dp tc
  • 为什么 IIS 不执行我的网站根目录 index.php 文件的 PHP 代码?

    IIS实际上是在发送将代码发送到浏览器而不是执行它 但是 仅针对根http domain com index php file 该文件夹中的所有其他 php 文件和子文件夹中的 index php 文件均按预期执行 我怎样才能执行我的根in
  • mysql 数据库更新和 codeigniter 行受影响的功能[重复]

    这个问题在这里已经有答案了 我在更新查询后使用此功能此 codeigniter 功能 this gt db gt affected rows 如果我更新值 它会返回受影响的行数 但如果我更新与之前相同的值 它会返回 0 受影响的行 任何帮助
  • Paypal PDT交易ID有效期

    当我尝试使用交易 ID 检索付款信息时 我从 paypal PDT 收到错误 4003 虽然我这里有一个类似的线程 贝宝 PDT 错误 4003 https stackoverflow com questions 8521800 paypa
  • 回退到正则表达式中字符串的开头

    是否可以让正则表达式退回到字符串的开头并再次开始匹配 这就是我问的原因 给定下面的字符串 我想捕获子字符串black red blue and green按照该顺序 无论主题字符串中出现的顺序如何 并且仅当所有子字符串都存在于主题字符串中时
  • 估计 libGD 操作所需的内存

    在尝试使用 libGD 在 PHP 中调整图像大小之前 我想检查是否有足够的内存可用于执行该操作 因为 内存不足 会完全终止 PHP 进程并且无法捕获 我的想法是 原始图像和新图像中的每个像素 RGBA 需要 4 字节内存 check av
  • 如何实现嵌套注释?

    我想在我的网站上显示评论 如下所示 li Parent ul li child one li li child two ul li grandchild li li other grandchild li ul li ul li li An
  • XAMPP:作曲家返回错误而不是创建新的 laravel 项目

    使用ubuntu 16 04 LTS 在两个不同版本的地方安装了PHP 在root 7 0和XAMPP 5 6中 composer全局安装 现在我无法从lamp htdocs创建composer项目 xampp运行良好 作曲家已安装并运行良
  • 从 mysql 检索数据并通过电子邮件发送

    我有一个 php 页面 它显示 mysql 数据库中每个用户的课程表数据 如下所示 result mysql query sql echo table border 0 thead tr th Class Link th th Studen
  • 发送带有附件的 PHP HTML 邮件

    我遇到了一个问题 直到今天 我使用 PHP 发送 HTML 电子邮件 其中包含的标头 Content type text html 现在 我添加了添加附件的功能 为此 我必须将此行更改为 Content Type multipart mix
  • 最佳实践:在 PHP 中导入 mySQL 文件;分割查询

    我遇到了一种情况 我必须更新共享托管提供商上的网站 该网站有一个 CMS 使用 FTP 上传 CMS 文件非常简单 我还必须导入一个大的 相对于 PHP 脚本的范围 数据库文件 未压缩时大约 2 3 MB Mysql 已关闭 无法从外部访问
  • 随机字体颜色

    我需要用 2 或 3 种随机颜色为文本着色 我如何在 PHP 或 JavaScript 中执行此操作 color str pad sprintf x x x rand 0 255 rand 0 255 rand 0 255 6 rand 0
  • 如何处理 file_get_contents() 中的 403 错误?

    我在使用时遇到 403 错误file get contents 我想这样处理这个错误 if required function file get contents url detects there is a 403 error do so
  • 致命错误:找不到类“App\PDO”

    当我尝试使用命名空间时出现此错误 I have namespace App 顶部 班级看起来像 class database function construct try this gt db new PDO lt here the err
  • PHP MySQLi 多次插入

    我想知道准备好的语句是否与具有多个值的普通 mysql query 一样工作 INSERT INTO table a b VALUES a b c d VS sql db gt prepare INSERT INTO table a b V

随机推荐

  • 设备旋转时丢失“MediaPlayer”(及其他变量)

    我正在为 Android 创建一个音乐播放器 它基本上可以工作 问题是 当我水平转动设备时 我会丢失 Activity 中的所有变量 这是有道理的 因为它被销毁并重新创建 我尝试使用捆绑包通过 onSaveInstanceState 和 o
  • 在调用另一个 JSON 之前删除 Leaflet 地图中的所有数据/标记

    我正在检索不同的数据以使用不同的 JSON 文件标记传单地图 每个单选按钮都会检索不同的 JSON 文件 但是 当我选择不同的单选按钮时 我无法清除标记 所有标记只是从一个 JSON 文件添加到另一个 JSON 文件 当我选择不同的单选按钮
  • 无需事务日志即可恢复 SQL Server 数据库

    Given a SQL Server 2008 bak文件 有办法恢复吗仅数据文件来自 bak file 没有事务日志 我问的原因是该数据库的事务日志文件大小很大 超出了我可用的磁盘空间 我对交易日志不感兴趣 对任何未完成的交易也不感兴趣
  • 有 YAML 数据库吗?

    我非常喜欢 YAML 的数据模型 它保留了 JSON 的大部分简单性 并通过一些有时很重要的功能 例如自定义数据类型和引用 对其进行了扩展 那么有没有什么方法可以在 YAML 数据模型 或非常类似的东西 中存储大量数据并使用索引对其进行查询
  • D3:如何处理单个图表中的缩放和工具提示?

    我有一个可视化 本质上是一系列堆叠的条形图 每个条形图包含多个面板 例如 here https i stack imgur com IAX6o png是三个这样的条形图 每个都有四个面板 我已经成功实现了跨图表协调的平移 缩放功能 This
  • 获取 jinja2 模板中列表的长度

    如何获取 jinja2 模板中列表中的元素数量 例如 在Python中 print template render products 在jinja2中 span You have what goes here products span s
  • Django 可以在每个单元测试之间刷新其数据库吗?

    Django 1 2 beta 将在每个运行的测试之间重置数据库 这意味着每个测试都在空数据库上运行 然而 数据库并不flushed 刷新数据库的影响之一是auto increment计数器被重置 考虑一个通过主键从数据库中提取数据的测试
  • numpy.argmin 用于大于阈值的元素

    我感兴趣的是获取满足特定条件 在我的例子中为中等阈值 的一维 NumPy 数组中最小值的位置 例如 import numpy as np limit 3 a np array 1 2 4 5 2 5 3 6 7 9 10 我想有效地屏蔽所有
  • SQL Server 2005 和 SQL Server 2012 中选择查询的默认排序顺序

    SQL Server 2005 和 SQL Server 2012 中选择查询的默认排序顺序有区别吗 我有一个没有主键的表变量 当我在 SQL Server 2005 中对表变量执行选择查询时 将选择记录并根据其中一列按字母顺序显示 在 S
  • 如何将粘性 div 保持在固定标题下方

    我在我的项目中使用 Bootstrap 4 并且在固定导航栏下保留带有 sticky top 类的 div 似乎遇到问题 我尝试过使用 javascript 来替换滚动上的 css 但这似乎不起作用 我知道有一种方法可以为导航栏设置一个 i
  • 合并两个数据帧以按顺序获取每个数据帧的交替行

    我的数据框DATA is k l g 1 A 2004 12 2 B 2004 3 4 3 C 2004 4 5 另一个数据框DATA2 is i d t 1 A 2012 22 2 B 2012 4 8 3 C 2012 5 6 我想要得
  • 学习 UIScrollView 的基础知识

    我一直很难找到 UIScrollView 的好例子 即使是苹果的 UIScrollView Suite 我也觉得有点缺乏 我正在寻找一个教程或示例集 向我展示如何创建类似于 iPhone Safari 选项卡滚动的内容 当您从一个浏览器窗口
  • 相同域,不同文件夹 PHP 会话

    我想根据用户所在的文件夹设置不同的会话 ID 例如 我有域名https example com https example com其中有文件夹 app1 app2 等 每个应用程序文件夹内有多个文件 我想设置一个会话 ID 用于 app1
  • 找不到“算法”文件

    我正在尝试使用以下库在 Xcode 中创建一个简单的控制台应用程序 https github com marstone ingress ios tree master s2 geometry https github com marston
  • 使用格式规范迷你语言截断和填充

    我目前正在编写使用 Python 的代码 用空格填充字符串格式规范迷你语言 http docs python org 2 library string html formatspec print user lt 10 you re welc
  • 在其消费者中处理生成器异常

    这是后续处理生成器中抛出的异常 https stackoverflow com q 11366064 989121并讨论一个更普遍的问题 我有一个读取不同格式数据的函数 所有格式都是面向行或记录的 并且对于每种格式都有一个专用的解析函数 作
  • 创建zip时没有错误,但没有创建

    我编写此代码是为了创建一个 ZIP 文件并保存它 但不知怎的 它只是没有显示任何错误 但它也没有创建 ZIP 文件 这是代码 zip new ZipArchive time microtime true res zip gt open ma
  • 使用 hibernate 将 null 保存为 id [重复]

    这个问题在这里已经有答案了 我处于一个奇怪的位置 我需要保存 Id of an Entity as null 整个项目是使用 hibernate 和实体构建的 但对于这一遗留实体 表本身有一个触发器来生成 ID 因此 尝试插入除 null
  • 不使用 MFMailComposeViewController 发送电子邮件

    是否可以在iOS中发送电子邮件而不依赖于系统默认的邮件 消息传递接口 这与消息传递真的一样吗 您不能为消息创建自定义界面 而是使用 MFMessageComposerViewController 的默认界面 看看这个答案 锁定 MFMail
  • 如何读取 PHP 中的请求标头?

    我应该如何读取 PHP 中的任何标头 例如自定义标头 X Requested With IF 你只需要一个标题 而不是allheaders 最快的方法是