【问题标题】:PHP - Validate that a file only contains ASCIIPHP - 验证文件仅包含 ASCII
【发布时间】:2011-07-27 14:25:12
【问题描述】:

我正在编写一个 Web 应用程序,用户在其中上传一个包含属性文件和图像的 zip 文件。

我想验证属性文件是否只包含 ASCII 字符。 PHP中有没有办法检查整个文件并在找到非ASCII字符时返回错误?

谢谢。

【问题讨论】:

  • 你说的是US-ASCII的127个字符吗?

标签: php validation encoding ascii


【解决方案1】:

你可以使用:

  • mb_detect_encoding():

    mb_detect_encoding(file_get_contents($filename), 'ASCII', true) === false
    
  • 正则表达式:

    preg_match('/^[\x20-\x7e]*$/', file_get_contents($filename)) > 0
    

【讨论】:

  • 谢谢,安装 mbstring 时遇到了一些麻烦,但正是我要找的。​​span>
  • 注意:这个正则表达式只检测可打印的 ASCII 字符。
  • 这是否处理换行符、回车符、制表符?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
  • 2021-05-09
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多