Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Php - поиск файлов

10.0K
19 февраля 2005 года
the_death
2 / / 19.02.2005
Подскажите, возможно ли на php написать скрипт для поиска файлов определяемх маской (*.txt например)
Заранее спасибо
6.7K
19 февраля 2005 года
Domovoy
25 / / 15.12.2004
Цитата:
Originally posted by the_death
Подскажите, возможно ли на php написать скрипт для поиска файлов определяемх маской (*.txt например)
Заранее спасибо




Конечно можно, вот пример скрипта, который ищет такой файл в папке:

$dirop = opendir("./dir/");
while (gettype($file=readdir($dirop)) != 'boolean')
{
if ($file != "." && $file != ".." && ereg(".txt",$file))
{
***************
твои действия
***************
}
}
closedir($dirop);

или так

$dirop = opendir("./dir/");
while (gettype($file=readdir($dirop)) != 'boolean')
{
if ($file != "." && $file != "..")
{
$ex = explode(".",$file);
if (trim($ex[1]) == 'txt')
{
***************
твои действия
***************
}
}
}
closedir($dirop);

10.0K
19 февраля 2005 года
the_death
2 / / 19.02.2005
Спасибо, хотя такой скрипт я мог и сам написать :)
Спасибо за подсказку.
Хотя может кто-нибудь придумает чтонть по-прощу :)
6.7K
20 февраля 2005 года
Domovoy
25 / / 15.12.2004
Цитата:
Originally posted by the_death
Спасибо, хотя такой скрипт я мог и сам написать :)
Спасибо за подсказку.
Хотя может кто-нибудь придумает чтонть по-прощу :)



Не за что, но только врятли ты сможешь написать скрипт попроще, этот вроде и так самый простой ;)

70K
29 марта 2011 года
Antony41
3 / / 29.03.2011
ну во первых как сказано в дукументации gettype не использовать ни когда для проверки типа вместо этого надо использовать is_
либо проще хотя смысл тот же к тому же функция ereg касаясь php5 устарела вместо неё надо использовать mb_ereg
<?
$addr = "e:/Record/";
$dir = opendir($addr);
while (($file = readdir($dir)) == true)
{
if ($file != "." && $file != ".." && mb_ereg(".mp3",$file))
{
print "$file<BR>";
}
}
closedir($dir);
?>
13
29 марта 2011 года
RussianSpy
3.0K / / 04.07.2006
Вам не кажется, что 6 лет назад, когда создавалась тема, ситуация была несколько другая? В любом случае к тому же ваш ответ не совсем верный. Хотя бы потому что регулярные выражения тут совершенно не нужны. Можно сделать намного проще и работать будет на несколько порядков быстрее. Некропостинг я смотрю популярное занятие последнее время
369
29 марта 2011 года
Kesano
451 / / 09.10.2007
Цитата: RussianSpy
Некропостинг я смотрю популярное занятие последнее время


Некропостинг некропостингом, а наплыв "новичков" постоянен, и постоянно одни и те же вопросы.
А это, так сказать, упреждающее поднятие некротемы для тех, кому лень искать.

Кстати, у меня вопрос: в чем разница, если имена файлов читать не мультибайтовыми функциями, а обычными? как отразится на выводе? Существует ли здесь понятие "Кодировки"?

13
29 марта 2011 года
RussianSpy
3.0K / / 04.07.2006
Да существует. В Windows например это UTF-16LE. В любом случае тут не нужно вообще никаких функций - просто выполнить команду операционной системы и получить результат.
369
29 марта 2011 года
Kesano
451 / / 09.10.2007
Цитата: RussianSpy
Да существует. В Windows например это UTF-16LE. В любом случае тут не нужно вообще никаких функций - просто выполнить команду операционной системы и получить результат.



Т.е. не обязательно использовать мультибайтовые функции, в зависимости от ОС сервера?

70K
29 марта 2011 года
Antony41
3 / / 29.03.2011
просто на дату не посмотрел.
<?
$cmd = "dir t:\home\test\www\images\*.html /b";
exec($cmd, $str);
for($i = 0; $i < count($str); $i++):
print $str[$i]."<BR>";
endfor;
?>
а как изменить кодировку???
13
30 марта 2011 года
RussianSpy
3.0K / / 04.07.2006
Кодировку ЧЕГО?
А вообще кодировка как и всегда меняется функцией iconv
http://ru2.php.net/manual/en/function.iconv.php
70K
30 марта 2011 года
Antony41
3 / / 29.03.2011
в какой кодировке передается массив данных в моём предыдущем коде? выполняя команду dir t:\home\test\www\images\*.html /b
13
30 марта 2011 года
RussianSpy
3.0K / / 04.07.2006
Поскольку это Windows то скорее всего в UTF-16LE
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог