我目前正在使用两个功能在1分钟后从每个文件夹中删除,但因为它们基本上做同样的事情(只是调用不同的文件夹)。我想知道他们是否可以合并成一个?
function DeleteFromFolder1() {
$captchaFolder = 'folder1/';
$fileTypes = '*.jpg';
$expire_time = 1;
foreach(glob($captchaFolder . $fileTypes) as $Filename) {
$FileCreationTime = filectime($Filename);
$FileAge = time() - $FileCreationTime;
if($FileAge > ($expire_time * 60))
{
unlink($Filename);
}
}
}
function DeleteFromFolder2() {
$captchaFolder = 'folder2/';
$fileTypes = '*.jpg';
$expire_time = 1;
foreach(glob($captchaFolder . $fileTypes) as $Filename) {
$FileCreationTime = filectime($Filename);
$FileAge = time() - $FileCreationTime;
if($FileAge > ($expire_time * 60))
{
to ($Filename);
}
}
}
答案 0 :(得分:1)
将文件夹名称作为参数传递。
function DeleteFromFolder($captchaFolder) {
$fileTypes = '*.jpg';
$expire_time = 1;
foreach(glob($captchaFolder . $fileTypes) as $Filename) {
$FileCreationTime = filectime($Filename);
$FileAge = time() - $FileCreationTime;
if($FileAge > ($expire_time * 60))
{
unlink($Filename);
}
}
}
答案 1 :(得分:1)
感谢您的回答,但我现在已添加:
unlink(path/to/temp/image.jpg);
到我的结果页面,它会在创建拇指后删除上传的图像,并删除与之关联的功能。
再次感谢您的回答:)
答案 2 :(得分:0)
function DeleteFromFolder($captchaFolder) {
$fileTypes = '*.jpg';
// and so on
}
如果您愿意,可以添加两个辅助函数
function DeleteFromFolder1() { return DeleteFromFolder('folder1/'); }
function DeleteFromFolder2() { return DeleteFromFolder('folder2/'); }
答案 3 :(得分:0)
要尝试在不编辑结构的情况下执行此操作,可以将变量传递到主函数中。你可以做这样的事情
function DeleteFromFolder1($dir=NULL) {
if($dir == NULL)
$captchaFolder = 'folder1/';
else
$captchaFolder = $dir;
$fileTypes = '*.jpg';
$expire_time = 1;
foreach(glob($captchaFolder . $fileTypes) as $Filename) {
$FileCreationTime = filectime($Filename);
$FileAge = time() - $FileCreationTime;
if($FileAge > ($expire_time * 60))
{
unlink($Filename);
}
}
}
function DeleteFromFolder2() {
DeleteFromFolder1("folder2/");
}
}
这应该可以在不对您当前的代码库进行任何重大更改的情况下运行。
编辑(为了清晰起见,添加更多说明)
我假设你的代码已经以某种方式实现了。如果是这种情况,一个相当笨重的解决方案就像我上面的那样(这将允许进行最少量的编辑)。否则,您可以将此功能合并到第一个,它将正常工作。 DeleteFromFolder2()只是一个重定向函数。
该函数接受参数$file
,如果在调用函数时未声明,则该参数为null。如果是$file == NULL
,则默认情况下会删除folder1,否则会尝试删除指定的文件夹。我希望能稍微清理一下!