У меня есть скрипт для загрузки файлов из базы данных. Он всегда работает хорошо, за исключением файлов Microsoft Office. Когда я пытаюсь открыть загруженный файл MS-Office, он всегда говорит, что формат файла или расширение файла не является правильным. Word и ppt могут восстановить файл в любом случае, но файлы Excel не открываются вообще.
Мим в базе данных правильно, поэтому не знаю, в чем проблема.
Заранее спасибо!
Скачать скрипт:
$query = "SELECT name, data, mime FROM {$table} WHERE `id{$table}` = {$id}";
$result = $dbLink->query($query);
if($result) {
// Make sure the result is valid
if($result->num_rows == 1) {
// Get the row
$row = mysqli_fetch_assoc($result);
// Print headers
$name2 = str_replace(" ","_",$row['name']);
header("Content-Disposition: attachment; filename=". $name2);
header("Content-Type: ". $row['mime']);
header("Cache-control: private");
// Print data
echo $row['data'];
}
else {
echo 'Error! No image exists with that ID.';
}
// Free the mysqli resources
@mysqli_free_result($result);
}
else {
echo "Error! Query failed: <pre>{$dbLink->error}</pre>";
}
@mysqli_close($dbLink);
Задача ещё не решена.
Других решений пока нет …