我有这个脚本工作删除所有文件,但只保留选定的文件,如何更改它以便在.exe文件中捕获任何文件名?
$leave_files = array(''.$filename.'.exe', ''.$filename.'.nfo', ''.$filename.'.sfv');
foreach( glob("$foldername/*") as $file ) {
if( !in_array(basename($file), $leave_files) ) {
unlink($file);
}
对于.exe文件我希望它捕获任何文件名
由于
答案 0 :(得分:2)
$leave_files = array('' . $filename . '.exe', '' . $filename . '.nfo', '' . $filename . '.sfv');
foreach (glob("$foldername/*") as $file) {
if (!in_array(basename($file), $leave_files)) {
if (substr($file, -4) == ".exe") {
continue;
} else {
unlink($file);
}
}
}
答案 1 :(得分:0)
您可以检查文件名的最后4个符号是否为“.exe”,然后不要删除它们。 (或删除它们,取决于你的意思)
if(substr($ filename,-4)==“。exe”)
答案 2 :(得分:0)
检查扩展程序:
if(!in_array(basename($file), $leave_files) && pathinfo($file, PATHINFO_EXTENSION) != 'exe') {
或者在glob()
:
foreach(array_diff(glob("$foldername/*"), glob("$foldername/*.exe") as $file) {