分享
三行代码  ›  专栏  ›  技术社区  ›  someone

如何在Laravel中检测fileupload上的特定字符名?

  •  0
  • someone  · 技术社区  · 6 天前

    假设我想检测上传文件名中是否包含 ~ , ! @

    str_contains($asset->getClientOriginalName(), "~", "!", "@");
    

    preg_match('/[^~!@\d]/', $asset->getClientOriginalName());
    
    1 回复  |  直到 6 天前
        1
  •  0
  •   Alex Howansky    6 天前

    str_contains() 一次只能比较一件事,因此需要使用其中三种:

    if (
        str_contains($asset->getClientOriginalName(), '~') ||
        str_contains($asset->getClientOriginalName(), '!') ||
        str_contains($asset->getClientOriginalName(), '@')
    ) {
        // filename contains the string
    }
    

    或者,通过 preg_match()

    if (preg_match('/[~!@]/', $asset->getClientOriginalName()) {
        // filename contains the string
    }