Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: загрузка изображения в базу данных
 
 автор: kid_a   (17.12.2007 в 10:21)   письмо автору
 
 

тип поля blob. при выводе из БД - изображений нет (белые перечеркнутые квадраты). что исправить? заранее спасибо


<?php
    $hostName 
"localhost";  
    
$userName "user";  
    
$password "";  
    
$databaseName "base"

if (!(
$link=mysql_connect($hostName,$userName,$password))) 
    {
    
printf("Ошибка при соединении с MySQL.\n");
    exit();
    }
if (!
mysql_select_db($databaseName$link)) 
    {
    
printf("База данных недоступна.");
    exit();
    }
?>
<form enctype='multipart/form-data' method=post> 
<input type="file" name="image"><br> 
<input type=submit value='Загрузить'> 
</form> 
<?php 

   
if(!empty($_FILES)) 
  { 
    
    if(
substr($_FILES['image']['type'],0,5) == 'image'
    { 
    
      
$content file_get_contents($_FILES['image']['tmp_name']); 
     
      
unlink($_FILES['image']['tmp_name']); 

      
$content mysql_escape_string($content); 
      
      
$query "INSERT INTO image VALUES(NULL, 
                                         '"
.$_FILES['image']['name']."', 
                                         '
$content')"
      if(
mysql_query($query)) 
      { 
   
        echo 
"<HTML><HEAD> 
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=
$_SERVER[PHP_SELF]'> 
             </HEAD></HTML>"

      } else exit(
mysql_error()); 
    } 
  } 


  
$query "SELECT * FROM image"
  
$img mysql_query($query); 
  if(!
$img) exit(mysql_error()); 

  if(
mysql_num_rows($img) > 0
  { 
    while(
$image mysql_fetch_array($img)) 
    { 
      echo 
"<img src=get.php?id_image=$image[id_image]>&nbsp;"
    } 
  } 
  echo 
"<br><br>"

?> 

   
 
 автор: halt.avmc   (18.12.2007 в 17:37)   письмо автору
 
   для: kid_a   (17.12.2007 в 10:21)
 

В get.php во первых в начале файла попробуй поставить header с типом контента
например
header(Content-type: image/jpeg); // для JPG'ов

для остальных типов картинок поищи соотв. MIME типы (такой список ставится вместе с Апачем для модуля mime_magic или как-то так называется - поищи в папке с установленным Апачем)

Еще раз пересмотри свой код в get.php на предмет правильности выборки картинки с соответствующим id, unescape'шь ли ты там контент, получаемый из БД, и наконец всё-таки проверь тип поля, в котором хранишь картинку

в принципе без кода, это пока всё, что можно посоветовать

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования