Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 798
от 25.10.2007, 00:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 448, Экспертов: 41
В номере:Вопросов: 1, Ответов: 2


Вопрос № 106051: Здравствуйте Уважаемые эксперты. У меня такой вопрос. В папке "Х" находятся файлы вида bla_blabla_788-2587.wmv. В папке файлов много. Но все они заканчиваются цифрами. Минимум 1 максимум 4 цифры. При этом все они разные. Пишуться цифры ...

Вопрос № 106.051
Здравствуйте Уважаемые эксперты.
У меня такой вопрос. В папке "Х" находятся файлы вида bla_blabla_788-2587.wmv. В папке файлов много. Но все они заканчиваются цифрами. Минимум 1 максимум 4 цифры. При этом все они разные. Пишуться цифры через -.
Мне необходимо переименовать файлы, убрав цифры. Т.е. что бы файл был, после переименования, вида bla_blabla.wmv. Как можно это сделать.

Заранее спасибо.
Отправлен: 19.10.2007, 13:14
Вопрос задал: Новицкий Владимир Витальевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Azrr
Здравствуйте, Новицкий Владимир Витальевич!
В приложении готовый скрипт, должен заметить, что он будет пытаться переименовать все файлы в директории.

Приложение:

Ответ отправил: Azrr (статус: 6-ой класс)
Ответ отправлен: 19.10.2007, 13:30
Оценка за ответ: 4

Отвечает: Бородин Александр Олегович
Здравствуйте, Новицкий Владимир Витальевич!
В PHP5 есть очень хорошая функция glob. Она позволяет выбрать имена файлов в определенной директории по маске. Например, можно сделать так...

if (is_dir('/path/to/X/')) {
$files = glob('/path/to/X/*.wmv');
for ($i = 0; $i < count($files); $i++) {
/*
Далее можно воспользоваться поиском и заменой с помощью регулярного выражения
*/
$filename = preg_replace('|[[:alpha:]]*(-0-9).wmv|i','',$files[$i]);
if (is_file($files[$i])) {
rename($files[$i],$filename);
}
}
}
?>
Далее позволю себе немного отступить от "протокола"...
Данный ответ следует считать оптимизированным ответом Azzr. Что оптимизировано? Ответ: выбор файлов в каталоге. Кроме того, обратите внимание, открывать каталог на чтение, запись, не нужно. А самое главное, скрипт не будет пытаться переименовать все файлы. Он будет переименовывать только те файлы, которые подходят по маске. Маска задается просто: "*" - любое количество любых символов, "?" - один любой символ.
Поиграйте со скриптом, уверен, Вы сможете сделать его еще лучше.
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Бородин Александр Олегович (статус: Студент)
Ответ отправлен: 19.10.2007, 17:24
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.61.1 от 16.10.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное