Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 19

преобразовать двоичный код в

17.01.2015, 10:24. Показов 3738. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Я пишу программу, которая заносит изображение в базу данных (тип данных BLOB), а потом извлекает ее оттуда и выводит изображение. Однако само изображение не выводится - только куча символов.

Вот код:
PHP
1
2
3
4
5
$sql = "SELECT content FROM images where id=1";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_assoc($result);
$foto = $row['content'];
echo "<img src=$foto>";
Подскажите, пожалуйста, как сделать, чтобы картинка выводилась в виде изображения?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2015, 10:24
Ответы с готовыми решениями:

Преобразование строки в двоичный код и обратно
Есть ли функция для преобразования строки которая содержится в переменной в двоичный код и обратно? если &quot;Да&quot; - то подскажите...

Преобразовать двоичный код в двоично-десятичный код (Intel 8051)
Прочитать с порта Р0 один байт двоичного кода 8-4-2-1, превратить его в двоично-десятичный код и выдать полученную информацию в порт Р1-Р2,...

Преобразовать двоичный код в десятичный
Ребят, нужно дополнить код, нужно, чтобы результат выполнения программы , то есть двоичный код преобразовался в десятичную СИ, при этом не...

5
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
17.01.2015, 11:25
Цитата Сообщение от Василиса Посмотреть сообщение
Подскажите, пожалуйста, как сделать, чтобы картинка выводилась в виде изображения?
Указать тип контента - изображение, и не выводить ничего кроме байтов самого изображения:
PHP
1
2
3
4
5
$sql = "SELECT content FROM images where id=1";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_assoc($result);
header('Content-type: image/jpeg'); // для jpeg
echo $row['content'];

Не по теме:

Ни в коем случае кодировка скрипта не должна быть utf с bom.

1
 Аватар для M9ICHIK
63 / 63 / 23
Регистрация: 09.12.2012
Сообщений: 459
17.01.2015, 11:28
Так, ты ж в базе хранишь байтовое содержания файла-картинки, а не путь к ней
PHP
1
echo "<img src=$foto>";
соответственно надо указать заголовок, чтобы браузер понял, что это такое, как пример
PHP
1
2
3
ob_end_clean();
header("Content-Type: image/jpg");   
echo $foto;
1
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 19
18.01.2015, 10:12  [ТС]
Спасибо большое за ответы!

К сожалению, в обоих случаях в браузере выводится сообщение "The image cannot be displayed because it contains errors".
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
18.01.2015, 10:49
Цитата Сообщение от Василиса Посмотреть сообщение
К сожалению, в обоих случаях в браузере выводится сообщение "The image cannot be displayed because it contains errors".
Возможно изображение имеет формат не jpeg а другое, возможно он неправильно заложено в бд, возможно оно как то закодировано перед сохранением в бд...
1
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 19
18.01.2015, 12:56  [ТС]
Код вот так выглядит:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
 
header('Content-Type: text/html; charset=utf-8');
 
require_once 'db.php';
 
 
$link = mysqli_connect($db_hostname, $db_username, $db_password, $db_database);
if (!$link) die("Disconnected to MySQL: " . mysqli_connect_error());
$link->set_charset("utf8");
 
 
if (isset($_POST['add'])) {
 
    if( !empty( $_FILES['image']['name'] ) ) {
 
        if ( $_FILES['image']['error'] == 0 ) {
 
            if( substr($_FILES['image']['type'], 0, 5)=='image' ) {
 
                $image = file_get_contents( $_FILES['image']['tmp_name'] );
 
                $image = mysqli_real_escape_string($link, $image );
 
                $query="INSERT INTO images (content) VALUES('$image')";
 
                $result = mysqli_query($link, $query);
                if (!$result) {
                        echo "Ошибка в запросе: $query<br />";
                } else {
                    echo "Фото добавлено в базу!";
 
                    $sql = "SELECT content FROM images where id=1";
                    $res = mysqli_query($link, $sql);
                    if (!$res) {
                        echo "Ошибка в запросе: $sql<br />";
                    } else {
                        echo '</br>';
                        $row = mysqli_fetch_assoc($res);
                        $foto = $row['content'];
                        header('Content-type: image/jpeg'); 
                        echo $row['content'];           
                    }
 
                }
 
            }
        }
    }
exit;
}
 
 
?>
 
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 
<form action='image.php' method='post' enctype='multipart/form-data' /> 
    Добавить фото: 
    <br />
    <input type='file' name='image' />  
    <br />
    <br />
    <input type='submit' name='add' value='Добавить' />
    <br />  
</form>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2015, 12:56
Помогаю со студенческими работами здесь

Преобразовать 16-ти разрядный двоичный код в код 8-4-2-1
Помогите пожалуйста составить программу для Intel 8051, которая преобразует 16-ти разрядный двоичный код в код 8-4-2-1 и исправит ошибки,...

Как преобразовать аналоговый сигнал в двоичный код?
Нужна помощь. Не могу разобраться, как решить задачу.

Преобразовать IP-адрес в двоичный вид
Известно, что IP-адрес записывается в нескольких вариантах. Наиболее известен «человеческий» вариант. Например, 192.168.0.1. Программа...

перевод десятичного вещественного в машинный код(двоичный код)
пожалуйста , подскажите пожалуйста код C++ ,для перевода вещественного числа в машиное (двоичное представление,32 бит). Без использования...

При вводе символа выдать его двоичный код и код, полученный перестановкой битов в байте
Добрый вечер) Помогите, пожалуйста. Есть программа, которая при вводе символа должна выдать его двоичный код и код, полученный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru