Как удалить ALL.txt файлы из каталога с использованием PHP
Я пытаюсь удалить ВСЕ текстовые файлы из каталога с помощью php-скрипта.
Вот что я попробовал.....
<?php array_map('unlink', glob("/paste/*.txt")); ?>
Я не получаю сообщение об ошибке при запуске, но оно не выполняет эту работу.
Есть ли для этого фрагмент? Я не уверен, что еще попробовать.
4
3 answers
Ваша реализация работает, все, что вам нужно сделать, это использовать Use full PATH
Пример
$fullPath = __DIR__ . "/test/" ;
array_map('unlink', glob( "$fullPath*.log"))
15
Author: Baba, 2012-10-13 03:15:35
Я немного расширил представленные ответы, чтобы вы могли гибко и рекурсивно отсоединять текстовые файлы, расположенные внизу, как это часто бывает.
// @param string Target directory
// @param string Target file extension
// @return boolean True on success, False on failure
function unlink_recursive($dir_name, $ext) {
// Exit if there's no such directory
if (!file_exists($dir_name)) {
return false;
}
// Open the target directory
$dir_handle = dir($dir_name);
// Take entries in the directory one at a time
while (false !== ($entry = $dir_handle->read())) {
if ($entry == '.' || $entry == '..') {
continue;
}
$abs_name = "$dir_name/$entry";
if (is_file($abs_name) && preg_match("/^.+\.$ext$/", $entry)) {
if (unlink($abs_name)) {
continue;
}
return false;
}
// Recurse on the children if the current entry happens to be a "directory"
if (is_dir($abs_name) || is_link($abs_name)) {
unlink_recursive($abs_name, $ext);
}
}
$dir_handle->close();
return true;
}
3
Author: yoppuyoppu, 2012-10-14 04:10:06
Вы можете изменить приведенный ниже метод, но будьте осторожны. Убедитесь, что у вас есть разрешения на удаление файлов. Если все остальное не сработает, отправьте команду exec и позвольте linux сделать это
static function getFiles($directory) {
$looper = new RecursiveDirectoryIterator($directory);
foreach (new RecursiveIteratorIterator($looper) as $filename => $cur) {
$ext = trim($cur->getExtension());
if($ext=="txt"){
// remove file:
}
}
return $out;
}
1
Author: Coldstar, 2012-10-13 03:23:12