| Autor | Zpráva | ||
|---|---|---|---|
| Error_404 Profil * |
Neumim si poradit s otevranim (a ukladanim) obrazku z databaze, kde je ulozeny v BLOBu.
Na ukladani do souboru nemam dostatecna opravneni, takze je jedina moznot primo do databaze. Nalezl jsem takovouto moznost: function image()
{
$sql = "SELECT obr FROM slozky WHERE idz = '1' ";
$result = $spojeni->query($sql);
$BA = new ByteArray($result->fetch_object()->obr);
return $BA;
}ale neumim precist vystup BA. |
||
| Error_404 Profil |
#2 · Zasláno: 29. 5. 2009, 14:28:24 · Upravil/a: Error_404
Edit:
spojeni je spojeni s databazi. obr je sloupec BLOB. Notice: Undefined variable: spojeni in /home/studenti/martin.hencl/public_html/2009-5-12-eten/galery.php on line 12 $spojeni vytvarim hned na zacatku, ostatni fce nemaj problem. Fatal error: Call to a member function query() on a non-object in /home/studenti/martin.hencl/public_html/2009-5-12-eten/galery.php on line 12 A to je to, co nejak nechapu a nevim, jak nahradit. |
||
| Mastodont Profil |
#3 · Zasláno: 29. 5. 2009, 14:38:19
Ta funkce to spojení nevidí, bere ho jako lokální objekt, který nebyl vytvořen
|
||
| Error_404 Profil |
#4 · Zasláno: 29. 5. 2009, 17:27:32 · Upravil/a: Error_404
No jo, vzdyt jsem houska...
Ale co ted s touto chybou: Fatal error: Class 'ByteArray' not found in /home/studenti/martin.hencl/public_html/2009-5-12-eten/galery.php on line 14 Ja proste nevim, co z te databaze dostanu. |
||
| Kajman_ Profil * |
#5 · Zasláno: 29. 5. 2009, 17:34:57
Při výběru z db snad můžete pracovat s binárními daty jako s textem, tam se to lišit asi nebude. Jen musíte nejdříve vypsat http hlavičku určující typ obrázku.
Pro ukládání prožeňte data funkcí http://cz2.php.net/manual/en/function.mysql-real-escape-string.php a pak také stačí normální insert nebo update jako u textových položek. |
||
| Error_404 Profil |
#6 · Zasláno: 29. 5. 2009, 19:25:23 · Upravil/a: Error_404
Muzu to vytahnout jako text, ale potom me ten obrazek neni jasny.
Jak presne bych mel tu hlavicku vytvorit? Jednoduse nevim, jak z obrazku udelam znaky a ze znaku obrazek. |
||
| Kajman_ Profil * |
Hlavička záleží na typu obrázku pro jpg by to bylo např. takto.
header('Content-Type: image/jpeg');
print($result->fetch_object()->obr);Jak si myslíte, že jsou uložené obrázky na disku... taky to jen nějaká posloupnost dat, která se neliší od uložení v databázi. |
||
|
Časová prodleva: 5 dní
|
|||
| Error_404 Profil |
#8 · Zasláno: 4. 6. 2009, 13:05:49
Tak fajn, uz jsem se tim prokousal, nejvetsi problem byl, ze vystup byl v "rozsypanem caji", tak jsem vygooglil content-transfer-encoding.
$vlastnosti['mime'] dokaze sam zjistit typ obrazku.
$vlastnosti=GetImageSize($obrazek);
header('Content-type: '.$vlastnosti['mime']);
header('Content-transfer-encoding: binary');
...
if ($vlastnosti['mime']=='image/jpeg') $src = ImageCreateFromJpeg($obrazek);
if ($vlastnosti['mime']=='image/gif') $src = ImageCreateFromGif($obrazek);
if ($vlastnosti['mime']=='image/png') $src = ImageCreateFromPng($obrazek);Zatim to po lehkem vyladeni funguje, ma nekdo nejake poznamky? |
||
|
Časová prodleva: 16 let
|
|||
0