我有一个脚本需要删除一些以某种模式开头的文件。
我尝试了unlink
,但不知何故不起作用,是否有任何遗漏。
$files = glob(PATH_DIR.
'_*.txt');
foreach($files as $file) { // iterate files
if (is_file($file)) {
//unlink($file); // delete file
$mask = $var.
'_*.*';
array_map('unlink', glob($mask));
}
}
答案 0 :(得分:1)
@array_map('unlink', glob(PATH_DIR.'_*.txt'));
_-如果不打印所有路径,然后尝试手动触发取消链接
答案 1 :(得分:0)
使用RecursiveIteratorIterator
获取文件,并检查您是否有足够的权限删除这些文件。 chown
该文件夹或更改755
和文件644
find . -type d -exec chmod 0755 {} $path;
find . -type f -exec chmod 0644 {} $path;
如果你在linux上,这些命令将有助于递归设置权限
$file_obj = get_files_by_path('/var/www/html/wordpress')
foreach ($file_obj as $Ofiles) {
$file_path = $Ofiles->getPathname();
//use your regex here with $file path. if that passed then delete the file
unlink($file_path);
}
function get_files_obj_by_path($path){
$obj = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD
);
return $obj;
}