Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Кто подскажет из-за чего скрипт после скачки не открывает изображение?

Александр Шипилов Ученик (91), на голосовании 9 месяцев назад
Что нужно заменить чтоб скрипт скачивал картинку в исходном формате.после загрузки формат jpg так и остается ,только картинка больше не открывается
<?php
require "db.php";

if (isset($_GET['id'])) {
$id = $_GET['id'];

$sql = "SELECT * FROM 3_images WHERE id=?";
$stmt = $db->prepare($sql);
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$filename = 'upload/' . $row["img"];

if (file_exists($filename)) {
$finfo = new finfo(FILEINFO_MIME);
$mime_type = finfo_file($finfo, $filename);
finfo_close($finfo);

header('Content-Description: File Transfer');
header('Content-Type: ' . $mime_type);
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
readfile($filename);
exit;
} else {
echo "The file $filename does not exist.";
}
} else {
echo "No record matches the provided id.";
}
} else {
echo "No id provided.";
}
?>
Голосование за лучший ответ
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (157169) 10 месяцев назад
Может быть несколько причин, почему изображение не открывается после скачивания:

1. Файл может быть повреждён из-за неправильного способа записи на диск.
2. Неправильный MIME-тип в заголовках ответа сервера.
3. Проблемы с правами доступа к файлу на сервере.

Чтобы сохранить оригинальный формат файла, убедитесь, что при скачивании не происходит его изменение. Проверьте правильность MIME-типа и наличие файла в директории 'upload/'. Попробуйте также проверить, не повреждается ли файл при загрузке на сервер.
Андрей Фогель Гуру (2696) 10 месяцев назад
Ответа на вопрос не знаю, но ты не мог использовать кнопку для вставки кода???
Похожие вопросы