![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: 4 Всего: 6 |
Всем привет!
Нужно реализовать следующее: Есть к примеру три файла с именами 1_1_111.txt, 1_1_222.txt, 1_1_333.txt Я знаю только первые символы файлов - это 1_1_, а остальные(могут быть любые цифры) я не знаю. Мне нужно зная это начало(1_1_) название файлов, удалить их все в папке(их может быть много). Пока ума не приложу, как узнать остальную часть названия файлов и удалить их через цикл (glob не вроде не помогает-или я использую его не так)... |
|||
|
||||
| CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 9 Всего: 28 |
Нужно:
1) открыть папку с файлами,; 2) считать все файлы; 3) пройтись по названиям файлов и выбрать те которые начинаются с префикса "1_1_". (со строками, надеюсь, Вы работать умеете) 4) удалить Это сообщение отредактировал(а) CruorVult - 12.7.2010, 16:59 |
|||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: нет Всего: 12 |
получаешь список всех файлов директории, например, так
циклом пробегаешься по каждому имени и проверяешь удовлетворяет ли твоим условиям |
|||
|
||||
| bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: 4 Всего: 6 |
CruorVult, спасибо, четкий ответ
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
раз уж glob позволяет даже несколько "*" использовать:
то, однозначно, ты что-то делаешь не так. ну, за отсутствиев конкретного кода, больше сказать невозможно. CruorVult, triclosan, бежать по полному списку файлов... суровые вы ребята! |
|||
|
||||
| bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: 4 Всего: 6 |
skyboy, а можно набросать примерчик с использованием glob ?
код простой, есть путь вида "files/foto" в папке foto файлы с именами в диапазоне(накидаю регуляркой) - "1_(\d{1,11})_mini_(\d{1,10})\.(jpg|jpeg|gif) - 2_(\d{1,11})_(\d{1,10})\.(jpg|jpeg|gif)" Вот задача вычислить все например (например 1_53_**********.(jpg|jpeg|gif)) и удалить. Добавлено через 3 минуты и 53 секунды в любом же случае нужно перебрать все имена файлов в папке? Т.е. чем хуже вариант от CruorVult, triclosan ? |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
bazzjr, смотри вот это
Добавлено @ 20:24
Это сообщение отредактировал(а) ksnk - 12.7.2010, 20:26 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
технически - не хуже. по крайней мере, маловероятно,что у тебя в одной папке окажутся несколько миллионов файлов, которые придется перебрать в поиске двух-трех. при малом количестве файлов - это несущественно. но зачем делать перебор, если есть функция, возвращающая только нужные тебе файлы? |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |