Novy problem s obrazkom v DB

NA svoje stranky som dal script na to aby si tam uzivatelia mohli pridavat obrazky a k obrazku par poloziek s textom. Pri uploade obrazka som pouzil AddSlashes policko v tabulke som dal do formatu mediumblob a teraz ked ten obrazok vytiehnem z DB tak sa mi vypisu tie hovadiny s tymi vseliakymi znackami a pismenkami akoby somo brazok otvoril v poznamkovom bloku. Tak teraz by som potreboval poradit ako to vyriesit (mne sa jedna o to aby uzivatel ten obrazok vydel priamo na stranke bez presmeovania cez Header("Location...."). Dakujem ale s tymto si asi tak lahko neporadim.
Tak dopredu dakujem =).
Skoro by som bol zabudol to to je script ktpry spracuva formular s obrazkom:

<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body bgcolor="Silver">
<?
if (is_uploaded_file($userfile))//kontrola obrazka ci je uploated
{
$file = fopen($userfile, "r");//otvorenie obrazka
$fileContents =
fread($file, filesize($userfile));
$fileContents = AddSlashes($fileContents);//uprava cez AddSlashes
}
else
$fileContents = NULL;//pripad bez obrazka

include("spojenie.php");
$conn=MySQL_Connect ($host,$user,$passwd);
mysql_select_db ($db,$conn);

$result=MySQL_Query("INSERT INTO napadnutia VALUES (0,'$nazov','$popis','$cesta','$miesto','$fileContents',0)",$conn);
// zapísanie údajov do databázy
MySQL_Close($conn); // ukončenie spojenia
echo "Súbor bol pridaný do databázy. Prečítať si ho môžete <a href='http://nieco>tu</a>";
?>
</body>

=====================================================
A toto je csript na vytahovanie udajov z DB:

<?
if (isset($id)) {
include("spojenie.php");
$conn=MySQL_Connect ($host,$user,$passwd);
mysql_select_db ($db,$conn);
$result = mysql_query("SELECT nazov,popis,cesta,miesto,fileContents,pocet FROM napadnutia WHERE id=$id");//nacitanie na zaklade premenej $id iba jedneho zaznamu v DB
$data=mysql_fetch_array($result);
$nazov=$data[nazov];//s tymito bunkami
$popis=$data[popis];
$cesta=$data[cesta];
$miesto=$data[miesto];
$fileContents=$data[fileContents];//obrazok
$pocet=$data[pocet];

if (!empty($fileContents)) {//ked je obrazok prezdny
mysql_query("UPDATE napadnutia SET pocet=pocet+1 WHERE id=$id");
//pocet precitani clanku
echo"<font face='Verdana' size='2' color='black'>";
echo"<b>Miesto: $nazov</b>";
echo"<p>Popis napadnutia: $popis</p>";
echo"<p>Popis osoby: $cesta</p>";
echo"<p>Miesto vyskytu: $miesto</p>";
echo"<img src='$fileContents' align='center'>";//generovanie odkazu ma obrazok

echo"<p>Zobrazene po $pocet-krat.</p>";
echo"</font>";
}
}
exit; // ukončenie skriptu
?>
=====================================================
Ja si myslim, ze su v poriadku ale neviem ako to vyriesit s tym obrazkom.
Dik
Uděláš upload z www. OK. Obsah nahraješ do db. Tady si myslím, že je zbytečné (?) přidávat ty slashe. Určitě se dělá s blobem takto?
No, pak jde o to, že ty máš v db obsah souboru, ne jeho název. Do src se dává název souboru na disku. Takže tohle by se mělo provést asi takto

<img src="obrazek.php?id=$id" />...
Kde $id je id záznamu, kde se obrázek nachází.
Potom obrazek.php musí otevřít db, a obsah buňky fileContents vypsat na výstup s hlavičkou odpovídající tomu, jaký obrázek máš v db uložený. Tedy třeba:
<?php
# ... opendb a selectem vybrat fileContents
...

header('Content-type: image/jpeg');
echo $filecontent;
?>


V jednom souboru to nepůjde z db dostat (teda možná jo, ale nevím jak, no, spíš ne).

Další věc je, že v db můžeš mít max. 5MB dat, což na obrázky není úplně ono. Asi lepší cesta je do db si schovávat název souboru a samotný obrázek se uloží na disk. To by odpovídalo tomu zápisu, který jsi uvedl, s tím, že do db bys nedával obsah, ale název (nejlépe vygenerovaný, aby se zabránilo duplicitě názvů), pak do img src bys dal právě tento název.
Obsah obrázku bys musel pochopitelně skopírovat na disk.
Jestli je něco nejasné, napiš co.
JA som odjavil server kde mas 100Mb priestoru zadarmo.
www.ic.cz


to plati aj na Db dik. Vyskusam ale aj tak webzdarma je lepsie ako ic lebo tam maju tak cudne robenu registraciu a FTP.
No ja neviem v com je problem ale dal som tam ten script co si mi poradil ty a teraz mi to pise tuto spravu co ale neviem prist na to co znamena:
-----------------------------------------------------------------------------------------------Warning: Cannot modify header information - headers already sent by (output started at /.../ic/excyklistika/www/..../down.php:18) in /.../ic/excyklistika/www/..../down.php on line 24
-----------------------------------------------------------------------------------------------
Vsimni si hlavne tu to cast: Cannot modify header information - headers already sent by (output started at /.../ic/excyklistika/www/..../down.php:18
-----------------------------------------------------------------------------------------------no neviem co ma znamenat to za down.php to cislo ale viem, ze to nie je premenna ani nic podobne.

PS: z bezpecnostnych dovodov tam kde su tie bodky ... tak tam boli informacie o disku a o adresare tak to som nechcel zverejnit, nie ze by som ti nedoveroval ale vies pre istotu koli heckerom =)

Dik.
A este k tomu addSlashes to sa ma pouzivat koli tomu, ze do DB by sa nemali ukladat subory v ktorych neboli potlacene specialne znaky aby nerobil asi take problemi ake teraz robia mne =) ale su zarucene spravne pouzite v mojom scripte.
Teraz som sa pozrel do Db a tam mi tie obrazky uklada sposobom, ze nemaju tak nazov aky pri upgreate ale daky [BLOB - velkost].