How to create an alias/reference to a local file? The code below is working to create a copy of a file, but when I try to create a reference, I get a reference_error.
$fs = get_file_storage();
$originalfile = $fs->get_file_by_id($oldfileid);
$filerecord = array(
'contextid' => $file->contextid,
'component' => $file->component,
'filearea' => $file->filearea,
'itemid' => $file->itemid,
'filepath' => $file->filepath,
'filename' => $file->filename,
);
$newfilerecord = array(
'contextid' => $newcontextid,
'component' => $file->component,
'filearea' => $file->filearea,
'itemid' => $newid,
'filepath' => $file->filepath,
'filename' => $file->filename,
);
NOT WORKING: (create reference -> reference error)
$ref = $fs->pack_reference($filerecord);
$newfile = $fs->create_file_from_reference($newfilerecord, $originalfile->get_repository_id(), $ref);
WORKING (create copy)
$newfile = $fs->create_file_from_string($newfilerecord, $originalfile->get_content());