Я работаю над Moodle 2.2.1 и создал файлы dynamic.csv с использованием определенных запросов. Я создал каталог/tmp/с разрешениями на запись в моем домашнем каталоге и используя функции файлов. Я создал файл CSV через свой код.Удалить файл после загрузки - PHP
Все работает нормально с обычными функциями fopen(), fwrite(), а файлы csv создаются каждый раз динамически. Я сохранил эти файлы для загрузки для пользователей с этим фрагментом кода.
<a href='/moodle/tmp/'".$filename."'> Download </a>
N с этой строкой в формате .htaccess, файлы можно загрузить на любой компьютер.
AddType application/octet-stream .csv
Но проблема сейчас есть, каждый раз при загрузке страницы, одни и те же .csv-файлы создаются с различными временными метками. В основном я получаю много дубликатов файлов с разными временными метками в каталоге/tmp /.
Есть ли способ, которым при каждой загрузке этой страницы все существующие экземпляры файлов в этой папке удаляются, и новая партия файлов готова для скачивания. Так что у меня нет дубликатов файлов и всего лишь один экземпляр каждого файла.
Если кто-нибудь может мне помочь, я был бы очень признателен.
Благодаря
EDIT: Если мой код для создания и написания 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>";
}
Try This Это может помочь вам до –
так изгоняются я делаю это в моем цикле Еогеасп, как редактируются в вопросе или как? Если u cud взять фрагмент моего кода и показать мне точно, что Ur пытается сказать, это было бы действительно полезно. Благодарю. – ivn
Я добавил пример удаления всего, кроме самого нового файла. Однако я не использовал ваш код для базы, но я уверен, что это легко понять. Это было бы проще, если бы вы могли сортировать файлы на основе модифицированного времени с помощью scandir(), его не нужно было бы зацикливать дважды. Альтернатива заключается в том, чтобы использовать то, что user1283565 рекомендовал, удалив все файлы перед созданием нового, но это может быть не очень полезно для некоторых обстоятельств. – kingmaple