Regex для проверки имени файла Linux (мульти кодировка) - PullRequest
1 голос
/ 18 октября 2011

Моя настройка: Fedora Linux / PHP / Apache

У меня есть требование разрешить пользователю вводить имя файла на своем языке.Linux создает файл отлично на арабском языке, когда я тестировал.

Мой вопрос: какие символы и, следовательно, какое регулярное выражение я должен использовать для проверки имени файла?

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Все строки действительны, кроме 0x00. Поэтому вместо регулярных выражений попробуйте:

if (strpos($filename,"\x00")===false) {

}
1 голос
/ 18 октября 2011

В общем: POSIX допускает все символы, кроме

  • \0 (нулевой символ)
  • / (разделитель пути)

Все, что угодноКонечно, все сводится к тому, что вы хотите принять

Если вы хотите, чтобы имена файлов были переносимыми и для Windows, имейте в виду:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...