Автор Тема: ошибка при открытие картинок иp MySQL  (Прочитано 4460 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Fubu_By

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
вот мой код при его запуске выскакивает сообщение:
"The image “http://172.17.0.43/avtobrest.com/find_car.php?marka=Audi&=m” cannot be displayed, because it contains errors."




$host = "localhost";
$user_db = "root";
$pass_db = "";
$dbase = "avtobrest";

mysql_connect ($host,$user_db,$pass_db);
mysql_select_db("$dbase");

$dtable = cars;

$marka = $HTTP_GET_VARS["marka"];
$model = $HTTP_GET_VARS["model"];
$year_from = $HTTP_GET_VARS["year_from"];
$year_to = $HTTP_GET_VARS["year_to"];
$cena_from = $HTTP_GET_VARS["cena_from"];
$cena_to = $HTTP_GET_VARS["cena_to"];

if($model != NULL)
{
   $sql = "SELECT id_car FROM $dtable WHERE marka=\\"$marka\\" AND model=\\"$model\\" AND (year BETWEEN $year_from AND $year_to) AND (cena BETWEEN $cena_from AND $cena_to)";
   $result = mysql_query($sql);
   $rows = mysql_num_rows($result);
}
else
{
   $sql = "SELECT id_car FROM $dtable WHERE marka=\\"$marka\\"";
   $result = mysql_query($sql);
   $rows = mysql_num_rows($result);
}
$i = 0;
if (!$rows)
{
   echo "Данных нет";
}
else
{
   echo"
   ";
   while($row = mysql_fetch_array($result))
   {
      ++$i;
      echo"
      
      
      
      
      
      ";
   }
echo"
$i .";
      $id_car = $row["id_car"];
      $marka = mysql_query("SELECT marka FROM $dtable WHERE id_car = \\"$id_car\\" ");
      $marka = mysql_fetch_array($marka);
      $marka = $marka[0];

      $year = mysql_query("SELECT year FROM $dtable WHERE id_car = \\"$id_car\\" ");
      $year = mysql_fetch_array($year);
      $year = $year[0];

   echo"$marka, $year г.в.
      

         
         
         
         
         
         
";
         $foto1 = mysql_query("SELECT foto1 FROM $dtable WHERE id_car = \\"$id_car\\" ");
         $foto1 = mysql_fetch_array($foto1);
         $foto1 = $foto1[0];
         header("Content-type: image/gif");
         echo $foto1;
      echo"

";
         $info = mysql_query("SELECT info FROM $dtable WHERE id_car = \\"$id_car\\" ");
         $info = mysql_fetch_array($info);
         $info = $info[0];
         echo $info;
      echo"

      
";
}

?>


а если закоментировать строку header("Content-type: image/gif"); то выводится содержимое файла ввиде текста

как мне исправить ошибку???

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
ошибка при открытие картинок иp MySQL
« Ответ #1 : 22 Июня 2006, 12:22:55 »
разберись, что ты выдаешь: текст или картинку?
ты пытаешь одним выстрелом двух зайцев убить, передеавать то нужно либо то либо другое
Пространные размышления об ИТ и все что вокруг

Оффлайн Fubu_By

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
ошибка при открытие картинок иp MySQL
« Ответ #2 : 22 Июня 2006, 23:34:01 »
в том то и дело что мне надо вывести изображение а выводит содержимое файла gif...
rfr vyt bcghfdbnm \'ne jib,re "The image “http://172.17.0.43/avtobrest.com/fi...?marka=Audi&=m” cannot be displayed, because it contains errors."
???

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
ошибка при открытие картинок иp MySQL
« Ответ #3 : 23 Июня 2006, 09:27:22 »
Fubu_By
ты так ничего и не понял, ты выводишь вместе с текстом картинку и выдаешь один заголовок для картинки, вот тут у тебя и возникат ошибка
Пространные размышления об ИТ и все что вокруг

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
ошибка при открытие картинок иp MySQL
« Ответ #4 : 23 Июня 2006, 12:38:04 »
Greg
Да не пытается он ничего вместе с картинкой вывести. Он одну картинку и выводит. Когда не указывает c-t - выводится напрямую в браузер (кто бы сомневался), когда указывает - картинка выдается битая.

Вариантов может быть много. Начиная от того, как картинка хранится в базе, заканчивая настройками перекодировки вывода сервера.
LJ: Backslashed life (rss)

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
ошибка при открытие картинок иp MySQL
« Ответ #5 : 23 Июня 2006, 13:15:57 »
CGVictor
я всегда думал, что контент-тайп для документа может быть только один
Fubu_By делает так:  
echo"$marka$year г.в.
</td>
</tr>
<tr>
<td>
<TABLE Border=1 CellSpacing=0 CellPadding=0 Width=100% align=left>
<tr>
<td Width=10% VALIGN=top>"
;


т.е выводит текст собсно говоря. А потом вот так
header("Content-type: image/gif");

т.е уже картинку. по существу то получается два заголовка. Я полагаю, что в этом проблема
Пространные размышления об ИТ и все что вокруг

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
ошибка при открытие картинок иp MySQL
« Ответ #6 : 23 Июня 2006, 13:21:22 »
[off]Greg
Блин, ведь и верно! Right you are!
Мой моск, привыкший к правильному коду, такое воспринять, видимо, отказался..[/off]

Тогда решение простое: вместо его вот такого "прямого" вывода писать вывод в файл в кеше, а в html на него просто ссылаться.
LJ: Backslashed life (rss)

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
ошибка при открытие картинок иp MySQL
« Ответ #7 : 23 Июня 2006, 13:23:51 »
я делаю по другому, в отдельном скрипте вывожу картинку, а в хтмл просто ссылаюсь на этот скрипт тэгом
Пространные размышления об ИТ и все что вокруг

 

Sitemap 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