bonjour
j'ai en train de developper un nouveau module
- Archiver les fichiers format zip dans le local stockage moodledata/mes files
- envoyer vers l'utilisateur en meme temps
pour cela j'ai utilisé la fonction
$files = $fs->get_area_files($context->id, 'mod_xxx', 'feedback_files',$feedback->id, "timemodified", false);
foreach ($files as $file) {
//get files new name.
$fileextension = strstr($file->get_filename(), '.');//return .pdf
$fileoriginal = str_replace($fileextension, '', $file->get_filename());
//$fileforzipname = clean_filename($file->get_filename());
$filefeedbackforzipname = clean_filename(fullname($user) . $fileoriginal . $userid . $fileextension);
//save file name to array for zipping.
$fileszipping[$fileforzipname] = $file;
$zipper=get_file_packer('application/zip');
$zipper->archive_to_pathname($fileszipping, $exportfile);
}
}
if (empty($fileszipping)) {
print_error('errornosubmissions', 'xxx', new moodle_url('/mod/xxx/submission.php', array('id'=>$cm->id)));
}
foreach($fileszipping as $zip){
unlink($zip);
}
return send_temp_file($exportdir, $exportfile);
le resultat elle envoie le format zip au browser mais elle ne stocke pas les fichiers dans moodledata/mesfichiers
le dossier est vide