使用php中的unlink功能可以搜索具有多个文件夹的目录,以查找具有特定名称的txt文件。就我而言Newsfeed.txt
我应该从哪里开始?
答案 0 :(得分:1)
您可以使用php标准库(SPL)的递归目录迭代器。
function deleteFileRecursive($path, $filename) {
$dirIterator = new RecursiveDirectoryIterator($path);
$iterator = new RecursiveIteratorIterator(
$dirIterator,
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($iterator as $file) {
if(basename($file) == $filename) unlink($file);
}
}
deleteFileRecursive('/path/to/delete/from/', 'Newsfeed.txt');
这将允许您从给定文件夹和所有子文件夹中删除名称为Newsfeed.txt
的所有文件。
答案 1 :(得分:1)
很棒的答案maxhb。这是一些更多的手册。
<?php
function unlink_newsfeed($checkThisPath) {
$undesiredFileName = 'Newsfeed.txt';
foreach(scandir($checkThisPath) as $path) {
if (preg_match('/^(\.|\.\.)$/', $path)) {
continue;
}
if (is_dir("$checkThisPath/$path")) {
unlink_newsfeed("$checkThisPath/$path");
} else if (preg_match( "/$undesiredFileName$/", $path)) {
unlink("$checkThisPath/$path");
}
}
}
unlink_newsfeed(__DIR__);