簡體   English   中英

PHP刪除除以下內容之外的所有文件

[英]PHP Delete all files except the following

我有這個腳本工作刪除所有文件但只保留選定的文件,如何更改它以便在.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文件,我希望它捕獲任何文件名

謝謝

$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);
        }
    }
}

您可以檢查文件名的最后4個符號是否為“.exe”,然后不刪除它們。 (或刪除它們,取決於你的意思)

if(substr($ filename,-4)==“。exe”)

檢查擴展名:

if(!in_array(basename($file), $leave_files) && pathinfo($file, PATHINFO_EXTENSION) != 'exe') {

或者在glob()排除它們:

foreach(array_diff(glob("$foldername/*"), glob("$foldername/*.exe") as $file) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM