Нужна помощь.
Я хочу удалить файлы с именем " person ", в Codeigniter я могу использовать следующий код:
$this->load->helper('directory');
$map = directory_map('./_cache/', FALSE, TRUE);
$cb = array();
foreach($map as $file){
if (strpos($file, $_post['fname']) !== false) {
unlink($file);
$cb[$file] = "deleted";
}
}
return $cb;
Результаты успешной пробной версии удаляют только один файл, код как показано ниже:
this.remove = function (fname, callback) {
const filesname = secret.pathCache + fname;
fs.unlink(filesname, (err) => {
if (err)
throw err;
callback("Removed : " + filesname);
});
}
Может быть, кто-то может мне помочь, предоставить информацию о том, как удалить много файлов с одинаковым именем, только с одним выполнением, спасибо.
полный код:
var fs = require('fs');
const secret = require("../Secret");
function Cache() {
this.add = function (fname, contents) {
const filesname = secret.pathCache + fname;
const resjson = JSON.stringify(contents);
fs.writeFile(filesname, resjson, 'utf8', function (err) {
if (err)
throw err;
});
}
this.view = function (fname, callback) {
const filesname = secret.pathCache + fname;
let rawdata = fs.readFileSync(filesname);
let data = JSON.parse(rawdata);
return callback(data);
}
this.check = function (fname, callback) {
const filesname = secret.pathCache + fname;
fs.exists(filesname, function (exists) {
if (exists) {
res = "cached";
} else {
res = "null";
}
return callback(res);
});
}
this.remove = function (fname, callback) {
const filesname = secret.pathCache + fname;
fs.unlink(filesname, (err) => {
if (err)
throw err;
callback("Removed : " + filesname);
});
}
this.removeAll = function (fname, callback) {
fs.readdir(folder, (err, files) => {
files.forEach(file => {
callback("Removed : " + file);
});
})
}
}
module.exports = new Cache();