当前位置: 首页 > 编程笔记 >

js is_valid_filename验证文件名的函数

郜玉石
2023-03-14
本文向大家介绍js is_valid_filename验证文件名的函数,包括了js is_valid_filename验证文件名的函数的使用技巧和注意事项,需要的朋友参考一下

函数代码

function is_valid_filename($name) 
{
  $parts = preg_split("/(\/|".preg_quote("\\").")/", $name);
  if (preg_match("/[a-z]:/i", $parts[0])) {
    unset($parts[0]);
  }
  foreach ($parts as $part) 
  {
    print "part = '$part'<br>";
    if (preg_match("/[".preg_quote("^|?*<\":>", "/")."\a\b\c\e\x\v\s]/", $part) || preg_match("/^(PRN|CON|AUX|CLOCK$|NUL|COMd|LPTd)$/im", 
    str_replace(".", "\n", $part))) {
      return false;
    }
  }
  return true;
}
$bad = array_merge(array_map('chr', range(0, 31)), array("<", ">", ":", '"', "/", "\\", "|", "?", "*"));
$result = str_replace($bad, "", $filename); 

windows 系统文件命名规则限制

https://msdn.microsoft.com/en-us/library/aa365247

 类似资料:
  • 我试图用OpenSSL验证一个PE文件的证书/签名(或者实际上用Python,但是看起来Python在证书处理方面很糟糕)。 我已从PE文件中提取了DER PKCS7证书,如下所述:http://blog.didierstevens.com/2008/01/11/the-case-of-the-missing-digital-signatures-tab/ 我已经创建了一个没有校验和和签名数据的P

  • 问题内容: 此方法可以保证Windows上的有效文件名吗? 问题答案: 鉴于先前引用的MSDN文档中指定的要求,以下正则表达式应该做得很好: 请注意,此正则表达式对文件名的长度没有施加任何限制,但是实际的文件名可能会限制为260或32767个字符,具体取决于平台。

  • 问题内容: 我正在将图像上传到servlet。通过检查文件头中的幻数,仅在服务器端验证上传的文件是否为图像。在将表单提交给Servlet之前,有什么方法可以在客户端验证扩展?我一按回车就开始上传。 我在客户端使用Javascript和jQuery。 更新: 我最终通过服务器端验证结束了工作,该验证读取字节,如果不是图像,则拒绝上传。 问题答案: 可以仅检查文件扩展名,但是用户可以轻松地将virus

  • > 文件,将ZIP文件的内容描述为XML(文件); 包含传输文档内容的文件(例如,文件); 具有分离数字签名内容的文件(文件-分离数字签名); > 方法(请参阅下面的此方法)当前未使用文件的分离签名。我确实试过了,但没有成功。如何正确验证文件对应文件的分离签名? 在方法(请参阅下面的方法)中,如何验证从文件中提取的证书与从Base64格式的输入字符串中提取的证书的一致性? 代码行-->Certif

  • 问题内容: 我正在研究可分析android应用程序的Java SE应用程序。 是否有任何可用于验证AndroidManifest.xml的架构/ DTD?如果找到名称空间定义,例如: 但是schemas.android.com不能解析为实际主机,因此那里没有架构文件:-( 注:我 不 希望做验证在Android作为一个平台。 问题答案: Android XML没有DTD /方案 ,您必须依靠其他可

  • 问题内容: 我正在研究可分析android应用程序的Java SE应用程序。 是否有任何可用于验证AndroidManifest.xml的架构/ DTD?如果找到名称空间定义,例如: 但是schemas.android.com不能解析为实际主机,因此那里没有架构文件:-( 注:我 不 希望做验证在Android作为一个平台。 问题答案: Android XML没有DTD /方案 ,您必须依靠其他可