powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с выгрузкой картинок из Firebird/Interbase
4 сообщений из 4, страница 1 из 1
Проблема с выгрузкой картинок из Firebird/Interbase
    #32416505
Gallagher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема заключается в том, что картинка то не до конца грузится, то не грузится вовсе. все картинки хранятся одном формате. собсно скрипт:

файл getpic.php

Код: plaintext
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.
    // переменные
    $Host = 'localhost:c:\db\db.gdb';
    $Username = 'SYSDBA';
    $Password = 'masterkey';
    $SQLString =  "select pic_pic from pictures where pic_id = " .$ID;
    
    // подключение к Б.Д. и выполним запрос
    $dbh = ibase_connect($Host, $Username, $Password);
    $res = ibase_query($dbh, $SQLString);
    
    // берем переменную из б.д. 
    $data  		= ibase_fetch_row($res);
    $blob_hndl 	= ibase_blob_open($data[ 0 ]);
    $blob_info        = ibase_blob_info($data[ 0 ]);
    
    // сказали браузеру, что будет картинка
    header('Content-type: image/jpg'); 
    
    // барабанная дробь - три варианта вывода - однохренственно одинаково работают

    // способ  1 :
    echo ibase_blob_get($blob_hndl, $blob_info[ 0 ]); 
    
    // способ  2 :
    while (!ibase_blob_echo($data[ 0 ]));
    
    // способ  3 :
    ibase_blob_echo($data[ 0 ]);
    
    ibase_blob_close($blob_hndl);



файл index.php

Код: plaintext
1.
2.
3.
4.
5.
<?
for ($I =  1 ; $I <  10 ; $I++ )
    echo  "<IMG SRC = 'getpic.php?ID=$I'>" ;

?>


всё это работает под:
WinXP build 2600
Apache 1.3.20
PHP 4
Firebird 1.5 / Interbase 6

точнее работает, но плохо :(
...
Рейтинг: 0 / 0
Проблема с выгрузкой картинок из Firebird/Interbase
    #32416631
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так все-таки работает или работает плохо ?
php версию поточнее скажи. Там в каких-то версиях с блобами проблемы были.
Вот пример, как декодируют блобы в adodb:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
   // still used to auto-decode all blob's
   function _BlobDecode( $blob ) 
   {
      $blobid = ibase_blob_open( $blob );
      $realblob = ibase_blob_get( $blobid,$this->maxblobsize); // 2nd param is max size of blob  -- Kevin Boillet <kevinboillet@yahoo.fr>;
 
      while($string = ibase_blob_get($blobid,  8192 )){ 
         $realblob .= $string; 
      }
      ibase_blob_close( $blobid );

      return( $realblob );
   } 
...
Рейтинг: 0 / 0
Проблема с выгрузкой картинок из Firebird/Interbase
    #32417573
Gallagher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макс М ! Респект тебе огормный! Всё теперь всё работает без проблем.
Осталось только мозгами понять, почему сначала выкачиваем из блоба некое мифическое $this->maxblobsize а потом дёргаем кусками по 8 кб... ну да ладно...
...
Рейтинг: 0 / 0
Проблема с выгрузкой картинок из Firebird/Interbase
    #32417575
Gallagher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макс М ! Респект тебе огормный! Всё теперь всё работает без проблем.
Осталось только мозгами понять, почему сначала выкачиваем из блоба некое мифическое $this->maxblobsize а потом дёргаем кусками по 8 кб... ну да ладно...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с выгрузкой картинок из Firebird/Interbase
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]