[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что не так?.
Dep
Здравствуйте.
Есть код проверки имени файла и чтото в нем не так, он выдает "Запрещённые символы." когда я выгружаю файл с правельным именем и с именем содержащим запрещённые символы, что в нем не правильно?.

if (preg_match("/(^[a-zA-Z0-9]*))$/" , $filemassiv)==0) {
echo "Запрещённые символы.";
exit;
}
Invis1ble

 ! 

М
Давайте вменяемые названия вашим темам.
Invis1ble
Zzepish
Preg_match('/^[a-z0-9]+$/i'...
Dep
Цитата (Zzepish @ 31.01.2013 - 12:40)
Preg_match('/^[a-z0-9]+$/i'...

Пробывал, не работает. :-(
killer8080
что в переменной $filemassiv?
Dep
Цитата (killer8080 @ 31.01.2013 - 15:34)
что в переменной $filemassiv?

Переменная выгружаемого файла.
Placido
У тебя ошибка в синтаксисе регулярки (непарные круглые скобки), поэтому preg_match всегда будет выдавать ошибку. Если включишь отображение ошибок:
error_reporting(E_ALL);

то увидишь ворнинг.
----
Решение - убрать их вообще (они в этой регулярке не нужны).
Dep
Цитата (Placido @ 31.01.2013 - 15:54)
У тебя ошибка в синтаксисе регулярки (непарные круглые скобки), поэтому preg_match всегда будет выдавать ошибку. Если включишь отображение ошибок:
error_reporting(E_ALL);

то увидишь ворнинг.
----
Решение - убрать их вообще (они в этой регулярке не нужны).

Сделал, вот так.

if(preg_match("/(^[a-zA-Z0-9]+([a-zA-Z\_0-9\.-]*))$/",$_FILES['uploadfile']['name'])==NULL) {
echo "Присутствуют запрещённые символы.";
exit;
}


Работает. :-)
killer8080
то же самое, только короче user posted image
if(!preg_match("/^[a-z\d][\w.-]*$/i", $_FILES['uploadfile']['name'])) {
echo "Присутствуют запрещённые символы.";
exit;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.