【发布时间】:2012-10-03 19:17:02
【问题描述】:
我正在开发 Moodle 2.2.1,并使用某些查询创建了 dynamic.csv 文件。我在我的主目录中创建了一个具有写入权限的 /tmp/ 目录,并使用文件函数通过我的代码创建了一个 .csv 文件。
使用正常的 fopen()、fwrite() 函数一切正常,并且每次动态创建 csv 文件。我保留了这些文件以供使用这段代码的用户下载。
<a href='/moodle/tmp/'".$filename."'> Download </a>
在.htaccess 中有这一行,文件可以下载到任何人的机器上。
AddType application/octet-stream .csv
但现在的问题是,每次我加载页面时,都会创建具有不同时间戳的相同 .csv 文件。基本上,我的 /tmp/ 目录中有很多具有不同时间戳的重复文件。
有没有一种方法可以在每次加载该页面时,删除该文件夹中文件的所有现有实例,并准备好一批新文件可供下载。这样我就没有重复的文件,每个文件只有一个实例。
如果有人能帮我解决这个问题,我将不胜感激。
谢谢
编辑:如果我创建和编写 .csv 文件的代码是这样的,那么我应该在哪里删除一个小时前带有时间戳的旧文件以及如何保留最新文件。
foreach($uniquenames as $uniquename)
{
$data = "Header1,Header2,Header3,Header4,Header5\n";
$filename = $uniquename.'_'.time().'.csv';
$writepath = $filepath.$filename;
$fh = fopen($writepath, 'w');
$result = $functions->getFiless();
foreach($result as $activity)
{
if($uniquename == $activity->quiz)
{
$data .= .$somedata.",".$foreachheader."\n";
}
else
{
}
}
fwrite($fh, $data);
fclose($fh);
echo "<p>".$uniquename . "<div class='assessment-reportlink'><a href='/moodle/tmp/".$filename."'> Download </a></p></div>";
}
【问题讨论】: