Ошибка при попытке получить из базы и отобразить изображение http://os7866.co.ua/scripts/get_img.php?image_id=1 При загрузке через FireFox выдает ошибку "Изображение 'http://os7866.co.ua/scripts/get_img.php?image_id=1' не может быть загружено так как содержит ошибки. При загрузке через google chrome просто вместо изображения отображается маленький квадратик На форумах в интернете пишут что ошибка связана с тем что изображение загрузилось не поностью Для того что бы проверить добавил фрагмент кода по сохранению полученного изображения из БД на диск Код (PHP): $dst = fopen("loaded_img.JPG","w"); fwrite($dst, $image["image_data"]); fclose($dst); Изображение на диск сохранилось полностью и без глюков: http://os7866.co.ua/scripts/loaded_img.JPG То есть ошибка связано исключительно с отображением изображения Код (PHP): echo $image["image_data"]; Подскажите кто знает, с чем связана ошибка. Ниже привожу скрипт по загрузке картинки Код (PHP): <?php require_once "../../param.php"; mysql_connect(DB_HOST, DB_USER, DB_PASSW) or die("<p>Ошибка подключения к серверу MySQL: ".mysql_error()."</p>"); mysql_select_db(DB_NAME) or die("<p>Ошибка подключения к базе данных: ".mysql_error()."</p>"); if (!isset($_REQUEST["image_id"])) die("<p>Ошибка: не указано image_id</p>"); $image_id = $_REQUEST["image_id"]; $query = sprintf("select * from images where image_id = %d;", $image_id); $result = mysql_query($query); if (!$result) die("<p>Ошибка при выполнении запроса: ".mysql_error()."</p>"); if (mysql_num_rows($result) == 0) die("<p>Отсутствует изображение с image_id = {$image_id}</p>"); $image = mysql_fetch_array($result); //----------------------------------------- $dst = fopen("loaded_img.JPG","w"); fwrite($dst, $image["image_data"]); fclose($dst); //----------------------------------------- header('Content-type: ' . $image['mime_type']); header('Content-length: ' . $image['file_size']); echo $image["image_data"]; ?> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Re: Ошибка при отображ. на стр-це загруженного из БД изображ ну сравни hex что в базе и что выдаёт браузер, fiddler поможет, из базы сделай dump и тоже посмотри что там 1. Скачай HxD http://mh-nexus.de/en/hxd/ Посмотри на hex картинки 2. Через PHPMyAdmin загрузи картинку в базу, сделай экспорт этих данных посмотри через текстовый редактор, совпадает ли hex в файле который экспортирован из базы 3. Загрузи картинку через скрипт, экспорт данных сравнение hex 4. Чрез fiddler посмотри что отправляет браузер в качестве картинки и совпадает ли hex
Re: Ошибка при отображ. на стр-це загруженного из БД изображ А md5 расчитать нельзя? 2 разных файла - 2 разных хеш значений.
Re: Ошибка при отображ. на стр-це загруженного из БД изображ Можно и с md5 сделать, но потянет ли автор? Посмотрим.
Re: Ошибка при отображ. на стр-це загруженного из БД изображ Посмотрел hex картинки и того что возвращал скрипт. Скрипт добавлял три лишних символа в начало изображения и из-за этого при отображении последнего происходила ошибка. А связано это было с тем что скрипт был в кодировке UTF-8 а не UTF-8 без BOM. После того как скрипт перекодировал в UTF-8 без BOM все заработало. Теперь скрипт показывает картинку. Добавлено спустя 20 секунд: Re: Ошибка при отображ. на стр-це загруженного из БД изображения Всем спасибо.