Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Удаление файлов по маске


Автор: Wolf1994 8.12.2004, 13:51
Возможно ли в PHP удалить все файлы в директории по определённой маске? Пробовал unlink ("*.shml") - не срабатывает, пишет, что файл не найден.

Автор: Opik 8.12.2004, 13:53
Код

foreach (glob("*.shml") as $filename) {
  unlink($filename);
}

Автор: NaCilnic 9.12.2004, 16:00
Код

 system("rm -f *.shtml");

Автор: IZ@TOP 9.12.2004, 17:32
NaCilnic, не везде сработает.

Автор: NaCilnic 10.12.2004, 00:19
согласен, сработает только на *nix системах
на виндах работать не будет

Автор: IZ@TOP 10.12.2004, 00:40
NaCilnic, и не у всех хостеров будет работать, даже на никсах не всех.

Автор: NaCilnic 11.12.2004, 07:24
на никсах работать не будет?
это на каких?
мною проверено на Linux RedHat, FreeBSD и OpenBSD - все прекрасно работает
не у всех хостеров?
это что же - хостер запретит пользователю удалять его же файлы?

в конечном итоге и unlink() и system() юзают одни и теже системные фунции по удалению файла, причем от имени пользователя, который запустил unlink() или system(), пользователем этим будет или apache (при сборке без suexec), или сам юзер (при сборке с suexec), в любом случае файл будет удален.

Автор: IZ@TOP 11.12.2004, 09:31
NaCilnic, про не всех никсов имел ввиду что не на всех никсовых хотингах ;) А что не у всех никсовых хостингов. так потому что system небезопасная функция. Хотя это наверное зависит от продвинутости админов хостинга, я в никсах несоображаю, но в винде если к папке windows будет открыть доступ на чтение и выполнение юзеру everyone то с помощью system'a можно столько приятного сделать smile Например:
Код

system("rmdir c: \\s \\q");

Автор: NaCilnic 11.12.2004, 10:53
Если у админа хостинга руки растут откуда надо, то system("rm -f *.shtml") сработает как надо, главное чтоб права были розданы правильно, а то можно, к примеру, выполнить такое system("cat /etc/passwd"), или еще что-нибудь в таком духе, так что это уже в тему об администрировании никсов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)