Php文件夹名称,内部带有特殊字符

时间:2019-06-14 12:20:47

标签: php

我有一个网站,可以从该网站创建表单文件。用户必须写一个公司名称,它将创建一个包含公司名称的文件夹,并将公司名称保存在我的数据库中,稍后在我的网站上执行某些步骤后,这里以我创建文件夹的示例为例:

$folder_name = format_folder_name($entreprise->getNom());
$path_file = $path_upload . '/' . $folder_name;
createFolderIfNotExist($path_file);

最近我有一个公司名为“ LALAL&OMOMO”的情况(当然是假名^^) 我已经正确创建了一个文件夹,但是由于公司名称中的“&”,由于某些原因,它无法正常工作。当我想在代码中重用该文件夹时,由于“&”之后的内容而找不到ID,因此将其视为不同的命令。

我该如何正确保存和创建文件夹名称中带有&的文件夹? (我不想更改公司名称)。

这是我要上传公司徽标的示例:

// create folder company name if not exist
$entreprise_folder_name = format_folder_name($_POST["create_entreprise_nom"]);
$path_file = $path_upload . '/' . $entreprise_folder_name;
createFolderIfNotExist($path_file);
// create folder "Logo" if not exist
$path_file .= "/Logo";
createFolderIfNotExist($path_file);

当我查看文件夹时,我必须使用公司名称文件夹

  • LALAL _&_ OMOMO
  • LALAL__OMOMO

徽标保存在第二个文件夹中

我很想与其他一些像“”这样的人物有同样的案子。

1 个答案:

答案 0 :(得分:0)

使用regexinvalid folder name替换为normal characters

$path_file = $path_upload . '/' . preg_replace("/[^a-z0-9\_\-\.]/i", '', $folder_name);

Regex