|
|
|
|
|
для: Владимир22
(07.06.2006 в 14:32)
| | Тире и подчёркивание обозначают тире и подчёркивание в имени файла, i - это модификатор, который сообщает, что регулярное выражение должно искаться без учёта регистра, поэтому диапазон A-Z можно опустить. $ - это привязка к концу слова, а ^ - к началу - иначе регулярное выражение найдёт соответствие в середине и отропартует, что всё в порядке. | |
|
|
|
|
|
|
|
для: Владимир22
(07.06.2006 в 14:32)
| | http://www.softtime.ru/dic/id_group=3&id_dic=133 | |
|
|
|
|
|
|
|
для: cheops
(07.06.2006 в 01:41)
| | Да, про цифры я забыл. Вот подправил самостоятельно.
<?php
$str = "file.txt";
$pattern = "|^[-_a-zA-Z0-9]+\.[a-z]+$|i";
if(!preg_match($pattern,$str))
{
exit("Ошибка в формате файла");
}
?>
|
Только зачем в расширении было "тире" и "подчёркивание" [-_a-z] ?? И ещё в названии файла должны быть слэши, конечно же.
Если можно, посмотрите что в этом коде не так и объясните, опять-таки,если не сложно, для чего в конце +$|i ??? Доллар - это конец строки, а |i зачем? Спасибо заранее. | |
|
|
|
|
|
|
|
для: cheops
(07.06.2006 в 11:42)
| | Тапочек шутит. А Вы ведетесь:) | |
|
|
|
|
|
|
|
для: valenok
(07.06.2006 в 07:43)
| | Это не совсем корректно, запросто создал файл с имнем 555 - более того в файле может быть любое количество точке, например 555.555.555 тоже вполне допустимое имя. | |
|
|
|
|
|
|
|
для: cheops
(07.06.2006 в 01:41)
| | Нет. Их в файле как и более чем одной точки быть конечно не может... | |
|
|
|
|
|
|
|
для: Владимир22
(06.06.2006 в 17:56)
| | Можно воспользоваться следующим регулярным выражением
<?php
$str = "file.txt";
$pattern = "|^[-_a-z]+\.[-_a-z]+$|i";
if(!preg_match($pattern,$str))
{
exit("Ошибка в формате файла");
}
?>
|
PS А цифры не нужны? | |
|
|
|
|
|
|
|
для: valenok
(07.06.2006 в 00:38)
| | Потому что в файле может быть только одна точка - перед расширением. | |
|
|
|
|
|
|
|
для: Владимир22
(07.06.2006 в 00:34)
| | какую точку ты имел в виду - я понял
почему только одну? | |
|
|
|
|
|
|
|
для: valenok
(06.06.2006 в 23:53)
| | Точка, которая стоит перед расширением. Она, вроде как, одна может быть (на локальном компьютере). | |
|
|
|
|