У меня есть скрипт, который загружает файлы в онлайн-каталог и сохраняет информацию о файле в базе данных. Файлы при сохранении переименовываются в id записи в базе данных. Всякий раз, когда пользователь запрашивает загрузку, простой оператор SQL извлекает сведения о файле из базы данных, содержимое файла считывается из базы данных, и файл запрашивается для загрузки. Вот мой код:
$one_file = $FILE_OBJECT->get($_GET['id']); // this is an object which just grabs the file details from the database
header("Content-type: ".$one_file['type']); // add here more headers for diff. extensions
header("Content-Disposition: attachment; filename=\"".$one_file["filename"]."\""); // use 'attachment' to force a download
header("Content-type: application/octet-stream");
header("Content-Disposition: filename=\"".$one_file["filename"]."\"");
readfile(_config('files_path').$_GET['id']);// reading the actual raw file stored in my online directory
Проблема в том, что я тестирую с использованием текстового документа и отлично загружаю его - я даже проверил загружаемый необработанный файл, вручную изменив его расширение, и он отлично загружается. Проблема в том, что когда он загружается с использованием приведенного выше кода, файл Word кажется поврежденным или что-то в этом роде, потому что, когда я пытаюсь открыть его, он все перемешивается и перемешивается. Что происходит? Я использовал этот фрагмент на нескольких других сайтах, над которыми работал, и они отлично работают ... Помогите, пожалуйста!