Hogyan kell tárolni a képeket az adatbázisban mysql, mysql

Jó napot kívánok.
Csinálok valamit, mint ez, hogy ellenőrizze:
$ Filename = "144.jpg";
$ Fogantyú = fopen ($ filename, "r");
$ Tartalom = fread ($ handle, filesize ($ filename .;
header ( "Content-type: image / jpeg");
echo "$ tartalma";
fclose ($ handle);
Ez megjeleníti a szöveget, bár úgy tűnik számomra, hogy a kép jelenik meg. Kedves kérem, mondja meg, hogyan kell menteni a kép maga a PHP az adatbázist a mysql, majd visszavonja?
köszönöm

Értelmetlen ez esetben képek tárolására az adatbázisban

Egyetértek ISE-DVP, de ugyanazt a választ.

A fájl olvasása
$ Fname = "ban.jpg";
$ F = fopen ($ fname, "r");
$ Fc = fread ($ f, filesize ($ fname .;
fclose ($ f);

zakonnektitsya adatbázis
$ Conn = mysql_connect ( "localhost", "root", "ül a pot király");
mysql_select_db ( "bázis");
be egy rekordot képpel
$ Sql ​​= "INSERT INTO tabla VALUES (NULL, 'addslashes ($ fc) .. "')";
$ Eredmeny = mysql_query ($ sql);
mysql_free_result ($ eredmeny);
úgy felvétel kép
$ Sql ​​= "SELECT * FROM tabla ORDER BY id DESC LIMIT 1";
$ Eredmeny = mysql_query ($ sql);
$ Row = mysql_fetch_assoc ($ eredmeny);
$ Pic = $ sor [ "pic"];
mysql_free_result ($ eredmeny);
hozza a böngésző
ob_end_clean ();
header ( "Content-Type: image / jpg");
echo $ pic;
Abban az esetben, a táblázat szerkezete
CREATE TABLE 'tabla' (
'Id' int (11) NOT NULL auto_increment,
'Pic' blob,
PRIMARY KEY ( 'ID')
) MOTOR = MyISAM DEFAULT CHARSET = cp1251;

Ha a kimenet az összes ugyanazt a szöveget - meg kell nézni, hogy mi folyik a webszerver. Valószínűleg már elküldött fejlécek, vagy indított következtetést.

1) távolítsa el a idézet a visszhang. Lehet, hogy a tolmács, majd veszi az adatokat szöveget. De nem szöveges és bináris adatokat. És a korábbi tanácsok - győződjön meg arról, hogy mielőtt a tartalmát fejlécek és kimeneti nem volt más következtetést. És ebben az esetben van fpassthru
2) Azt hiszem sokáig szembe azzal az igénnyel, hogy a képek tárolására egy adatbázisban. Megoldás addslashes nem éppen zümmögő, előfordulhat, hogy ha elfelejti kódolni bináris adatok export és az import, képeket fog veszni. Ha tényleg nem sajnálni a szerver erőforrások (például az adatbázisban tárolt bináris ekonommnostyu megnevezni nem), akkor jobb, hogy sok évvel ezelőtt alkotta meg base64_encode

Két plusz utolsó válasz jól mutatja a szintet a helyi látogatók.

És a szerző, a legvalószínűbb, meg kell tanulni a HTML.
Mivel ezek a „vámtarifaszámok” említett valamivel magasabb - ez valószínűleg a HTML szabvány, amelyben a hős fog megjeleníteni a képeket.

- Ön összekeverjük és tárolja az adatbázisban, és megjeleníti a képet az egy nagy kérdés. Vegyük a könyv Dmitry Koterova PHP4 (vagy PHP5), van egy példa, hogyan kell válaszolni a kérdésére.
- de mindenképpen áruház képek az adatbázisban nem lehet
- Az adatbázis általában tárolja kapcsolatokat, de inkább csak a nevét a kép (linkek képző később)
- hanem az adatbázis nem tárolja semmit a kép. Alakítása a nevét képfájlokat szerint c bármely területén, melyek ezt a rekordot elismerték.

Egy másik kérdés a témában.
Ha az adatbázis nem tanácsos tárolni képeket, hogyan kell csinálni, hogy lenne, ha adnak egy információs adatbázist, miután az információ megjelenik a böngésző és az akarat szükséges képet ezt az információt? Azaz a kimeneti hírek és képek a szöveggel együtt. Ezenkívül az információt keresztül történik a közigazgatási központ.

De hogyan lehet egy tárgy, vagy egy linket, hogy letölthető, ha ez nem egy kép, mint bármely más fájlt? Mint például a doc, pdf, mp3?

Mm. Az adatbázis nem tárolja egy csomó adat, akkor jobb a szerveren.
De, van lehetőség áll rendelkezésre, ha szükség van rá. Például - DB alkalmazottak. Fényképek kicsik, és növeli a hordozhatóság adatbázisban tárolnak.

Kapcsolódó cikkek