Вопросы по PHP

Serge_S

индексирую каталог
в итоге получаю названия файлов в виде списка
privet.txt
poka.dat
hello.doc
.....
подскажите как исключить из этого списка файлы с ненужным мне расширением
можно искать при сканировании наличие фраз doc txt dat в файлах и исключать их из списка
но если допустим у меня в названии файла есть и названия расширений, которые я хочу исключить?
ну типа
txt.dat
doc.txt
..
может можно перед вытягиванием имени файла проверять его расширение и исключать из индексирования в самом цикле индексирования?

Trams

> можно искать при сканировании наличие фраз doc txt dat в файлах и исключать их из списка
а нельзя искать при сканировании наличие фраз ".doc" ".txt" ".dat" в файлах и исключать их из списка?

Serge_S

да можно, я просто думал есть какое-то более общее решение
вдруг у меня файл www.txt.doc называется

mr82

Может код покажешь? Индексирования?

Trams

> вдруг у меня файл www.txt.doc называется
а нельзя искать при сканировании наличие фраз doc txt dat в последних 3-х символах названий файлов и исключать их из списка?
ну или в символах, следующих после последней точки в файле.

korsar0156

тогда уж 4х и ".txt" ".doc"

pitrik2

дык расширение файла - то что идет после последней точки
вот и ищи фразы ".doc" в конце названия файла
тогда никаких проблем с www.txt.doc не будет

pitrik2

тьфу на вас
пока ответ напишешь
тут уже несколько постов запостят
ну нафик
ухожу с форума

Serge_S

ок, спасиб
2tainer код индексирования например только для папок-вот
 
$directory='/usr/bin/'
$dir=opendir($directory);
while (false !== ($folder=readdir($dir
{
$path1="$directory$folder";
. if (false !== ($test_if_directory1=is_dir($path1 && $folder!=='..' && $folder!=='.')
{echo "$folder\n";}
closedir($dir);
clearstatcache;

feliks28

А почему не регулярным выражением?

Werdna

1. ботай регулярные выражения: .doc^
2. запомни, у файлов есть суффиксы, один или много, а расширегие -- говнотермин от мсдос, и идет нахуй

Andr163

.doc^
а не .doc$ ?

Werdna

в душе не ебу, мождет и доллар, давно сам не писал, а лезть смотреть було лень

Andr163

$filename - массив имен
$sxf - массив окончаний ("doc", "txt", etc)

foreach ($filename as $i => $k)
{
foreach ($sfx as $s => $x)
{
$patt = "/.*\\.".$x."\$/";
if (preg_match($patt,$k
{
unset ($filename[$i]);
break;
}
}
}
Оставить комментарий
Имя или ник:
Комментарий: