Я разрешаю пользователям загружать файл, и я храню имя исходного имени файла в одном поле, а другое - переименованное имя файла, чтобы избежать дублирования и других рисков.Поэтому, когда я позволяю им скачать его, я хочу, чтобы они могли загружать его как оригинальное имя, но когда он находится на наших серверах, я хочу использовать переименованную версию.
Пример:
$ original = имя, которое пользователь дал файлу
$ renamed = имя, которое мы дали файлу
header('Content-type: application/octet-stream'); // concatenation
header("Content-disposition: attachment; filename=$original"); // double quotes
$filename="../../../../docs/doc/$renamed";
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
ob_clean();
flush();
readfile($renamed); // no quotes needed
я попробовалделать это, но так как исходное имя хранится в базе данных, а фактическое имя файла переименовывается, как я могу добиться этого?