Как получить изображение из базы данных в HTML-форму? - PullRequest
1 голос
/ 22 августа 2011

Я сохраняю имя своего изображения в своей базе данных и само изображение для загрузки файла.

Когда пользователь хочет их видеть, я хочу показать его пользователю с помощью div.

Здесь все запутано в моей голове.

вот мой php-код

        $con = mysql_connect("localhost","root","");
        if (!$con){die('Could not connect: ' . mysql_error());}
            mysql_select_db("marmaris", $con);
            $bilgi= mysql_query("SELECT * FROM ".$isim." WHERE id='".$id."'");

            while($sutun= mysql_fetch_array($bilgi))
            {
                 $name=$sutun["name"];
                 $bures=$sutun["resbuyuk"];
                 $kures=$sutun["reskucuk"];
                 $aciklama=$sutun["aciklama"];
                 $map=$sutun["map"];
                 $link=$sutun["link"];

            }
            $words = preg_split('/[\s?]+/', $kures);
            $result = count($words);
            for($i=0;$i<$result;$i++){
                $city=$words[$i];
            }

Сейчас у меня 6 изображений. $ City - одно из изображений, например, я хочу показать пользователю это изображение.

это моя html-часть, не беспокойтесь о имени isimid, просто отправляю 2 слова одновременно.

 <div id="kucukres">
    <img src="upload/<?php echo $city ?>" alt="Angry face" width="32" height="32" />
    </div>

Я хочу показать изображение, но оно пишет только альтернативные слова.

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

С помощью php я беру имя файла из базы данных.;в html я хочу показать это изображение.

edit: это мой новый html-тег.

   <div id="kucukres">
   <img src="getres.php?file=<?php echo $isimid;?>"/> 
    </div>

и мой php-файл

$bilgi= mysql_query("SELECT reskucuk FROM ".$isim." WHERE id='".$id."'");

            while($sutun= mysql_fetch_array($bilgi))
            {

                 $kures=$sutun["reskucuk"];

            }
            $words = preg_split('/[\s?]+/', $kures);
            $result = count($words);
            //unlink("upload/$word[$isim]");
            for($i=0;$i<$result;$i++){
                $city=$words[$i];
                header('Content-type: image/jpeg'); 
                $pic = 'upload/'.$city; 
                 echo $pic;

, но все ещея не могу увидеть изображение в моем HTML-файле.

1 Ответ

1 голос
/ 22 августа 2011

В этой теме нет недостатка в учебниках и примерах .

По сути, вы пытаетесь задействовать два файла PHP, а не только тот, который у вас есть.Вам понадобится один для страницы и один для изображения (которое можно повторно использовать для всех изображений).

Начните с просмотра HTML-кода, отображаемого для вашей страницы.Что такое тег img?Он ищет ресурс (файл изображения) на сервере, которого там нет, поэтому, естественно, он ничего не отображает.Журналы вашего сервера также покажут вам 404 ошибки для этих запросов изображений.

Это потому, что изображение на самом деле не является частью страницы.Это совершенно отдельный ресурс, на который ссылается страница, задача браузера - поставить его на место.Поэтому вам нужно создать отдельный ресурс (файл PHP) для обслуживания этого изображения.

Мой PHP немного устарел, поэтому я расскажу о многих примерах и учебных пособиях в Интернете для уточнения.Но структура в основном будет такой:


Страница A, страница хоста:

Извлечение из базы данных информации об изображении.Его идентификатор, текст alt, если применимо, и т. Д. Используйте эту информацию для создания тега img.Что-то вроде:

echo '<img src="/images/dbimage.php?id=' . $id_from_db . '" alt="' . $alt_from_db . '"/>';

Страница B, страница изображения:

Получите фактическое изображение (BLOB-объект) из БД и его тип содержимого, если оно также является динамическим.Запишите no output до того, как это будет сделано.Установите тип содержимого заголовка ответа на тип содержимого изображения, запишите необработанные байты изображения в качестве вывода, завершите вывод.


Главное, что нужно запомнить, еще разявляется то, что изображение не отправляется в браузер как часть страницы.Это совершенно отдельный ресурс, извлекаемый из совершенно отдельного запроса к серверу.Вам просто нужно обработать этот запрос отдельно от самой страницы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...