当前位置:  编程技术>php

PHP输出英文时间日期的安全方法(RFC 1123格式)

    来源: 互联网  发布时间:2014-08-26

    本文导语:  最近项目中要为一个rest服务写客户端,其中的签名校验需要在HTTP Header中生成一个RFC 1123格式的Date。 这个问题比较好解决,简单翻阅了PHP文档,使用gmstrftime这个函数就能解决。 代码如下:string gmstrftime ( string $format [, int $timestam...

最近项目中要为一个rest服务写客户端,其中的签名校验需要在HTTP Header中生成一个RFC 1123格式的Date。

这个问题比较好解决,简单翻阅了PHP文档,使用gmstrftime这个函数就能解决。

代码如下:

string gmstrftime ( string $format [, int $timestamp = time() ] )

调用的代码如下:
代码如下:

echo gmstrftime("%a, %d %b %Y %T %Z",time());
//输出:Tue, 01 Apr 2014 16:16:07 GMT

调试过程中发现,在另外一台电脑上,输出并不像预期中的结果,然后产生了中文:
代码如下:

二, 01  4 2014 16:20:02 GMT

继续翻阅文档,发现文档的注释中有说明,这个函数的结果受setlocale结果的影响,既收当前系统默认的语言的影响。使用下面的命令可以查看当前系统已安装的语言:
代码如下:

locale -a

那么根据刚刚分析的结果,将setlocale强制指定为英语就没问题了,代码如下:
代码如下:

setlocale(LC_TIME, 'en_US');
echo gmstrftime("%a, %d %b %Y %T %Z",time());

至此文章应该已经结束了,不过可惜的是测试用的Ubuntu机器上,因为是Live CD版,恰好没有en_US这个语言,但是有一个en_US.UTF-8。这个时候心理打鼓,这种做法似乎不太安全,我没办法确定运行代码的客户机上,到底有en_US还是有en_US.UTF-8。还好看到文档里的一段comments,可以用gmdate来代替,该函数不受setlocale结果的影响:
代码如下:

gmdate('D, d M Y H:i:s') . ' GMT';

Case closed~需求虽小,要写好并不容易,以后还要多加努力。

    
 
 

您可能感兴趣的文章:

  • php 统计字数(支持中英文)的实现代码
  • PHP英文字母大小写转换函数小结
  • PHP实现的英文名字全拼随机排号脚本
  • php 过滤英文标点符号及过滤中文标点符号代码
  • PHP英文字母大小写转换函数
  • PHP实现英文标题正确大写的代码
  • PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
  • php简单压缩英文字符串的代码
  • 可以保证单词完整性的PHP英文字符串截取代码分享
  • php英文字符串截取代码(保证单词完整性)
  • php截取utf8或gbk编码中英文字符串
  • php 中英文混合字符串的截取函数
  • php截取字符串之截取utf8或gbk编码的中英文字符串示例
  • php中英文混排字符串截取方法
  • php轻松实现中英文混排字符串截取
  • php输出奇数偶数示例
  • php输出1000以内质数(素数)示例
  • php 5.2.x 输出操作的细节
  • php遍历目录输出目录及其下的所有文件示例
  • php date函数格式化输出指定范围的时间
  • php foreach正序倒序输出示例代码
  • php foreach语句正序与倒序输出
  • PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
  • php标准输入与输出(STDIN、STDOUT、STDERR)
  • php foreach正序倒序输出示例
  • php输出字符串方法总结
  • PHP使用range协议实现输出文件断点续传代码实例
  • php中单个数据库字段多列显示(单字段分页、横向输出)
  • PHP折线图的示例代码 可以输出汉字的php折线统计图
  • php导出csv数据(浏览器中输出提供下载或保存到文件)
  • php导出csv数据在浏览器中输出提供下载或保存到文件的示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php 获取某日期的前一天日期
  • php计算日期相差天数(日期计算)代码
  • PHP获取每周六日期 php判断奇数偶数
  • php日期加减法运算小例子
  • php判断日期格式是否正确的小例子
  • php函数计算两个日期相差天数
  • php计算两个日期时间差(返回年、月、日)
  • php mysql查询指定范围内日期
  • php日期函数的简单示例代码
  • Php计算时间差 php日期转换的例子
  • PHP中的日期加减方法示例
  • php日期查询与数值转换的例子
  • php根据日期判断星座的函数代码
  • php格式化日期和时间格式化示例分享
  • php日期加减处理函数示例
  • php使用strtotime和date函数判断日期是否有效代码分享
  • php根据日期判断星座的函数分享
  • PHP计算一年多少个星期和每周的开始和结束日期
  • php计算日期相差天数二种方法
  • php查询指定日期范围内数据
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3