Kép adatbázisba való feltöltése és lekérdezése (tudom már sokadszor :( )
Üdv!
Egy olyan problémám lenne, hogy képet szeretnék adatbázisba feltölteni. Meg is találtam az ehhez tartozó kódot az előző fórumokban, de nekem sajna nem működik. Léterhoztam az ott leírt adatbázist, meg kódot de nem tölti fel a képet. Innen van a kód: http://www.phpbuilder.com/columns/florian19991014.php3
Ha php3-ba mentem el akkor egyáltalán nem működik hibát ír ki. Ha php-ba mentem meg nem csinál semmit, csak frissül egyet a form és ennyi.(lehet függ attól is hogy az extra.hu tárhelyét és adatbázisát használom?) Sokan írták, hogy a képnek inkább csak az elérési útvonalát adjam meg a táblában, de azt sehol nem találtam mi is ennek a megoldása. Így nagyon megköszönném, ha valaki tudna adni egy működö adatbázisba kép feltöltő kódot (akár magát a képet akár az elérési útvonalát), és egy működő megjelenítőt, ami csak szimplán a felrakott képet hozza elő az oldalon. Légyszi ne csak beszúrt mondatokat vagy kioktatást, hogy itt keress meg ott keress, mert már elég rég vacakolok vele. Tehát egy vagy két vagy amennyi, teljesen kész php kell.
Előre is köszi!
■ Egy olyan problémám lenne, hogy képet szeretnék adatbázisba feltölteni. Meg is találtam az ehhez tartozó kódot az előző fórumokban, de nekem sajna nem működik. Léterhoztam az ott leírt adatbázist, meg kódot de nem tölti fel a képet. Innen van a kód: http://www.phpbuilder.com/columns/florian19991014.php3
Ha php3-ba mentem el akkor egyáltalán nem működik hibát ír ki. Ha php-ba mentem meg nem csinál semmit, csak frissül egyet a form és ennyi.(lehet függ attól is hogy az extra.hu tárhelyét és adatbázisát használom?) Sokan írták, hogy a képnek inkább csak az elérési útvonalát adjam meg a táblában, de azt sehol nem találtam mi is ennek a megoldása. Így nagyon megköszönném, ha valaki tudna adni egy működö adatbázisba kép feltöltő kódot (akár magát a képet akár az elérési útvonalát), és egy működő megjelenítőt, ami csak szimplán a felrakott képet hozza elő az oldalon. Légyszi ne csak beszúrt mondatokat vagy kioktatást, hogy itt keress meg ott keress, mert már elég rég vacakolok vele. Tehát egy vagy két vagy amennyi, teljesen kész php kell.
Előre is köszi!
He?
Egyébként az adatbázisba feltöltéskor arra kell figyelni, hogy a maximum csomag méret nagyobb legyen a fájlméretnél, amit persze csak a szerver konfigjában tudsz beállítani, viszont a kliens konfigban IS be kell állítani. A kész kódot meg barátom, felejtsd el, mert senki nem fog itt neked ingyenbérniggerkedni, főleg nem úgy, hogy kemény 20 perce vagy tag és semmit nem tettél le az asztalra.
Tessék elolvasni a doksit, tessék beszélni a rendszergazdával (aki nélkül amúgy sem fog menni semmi) és igenis tessék egy kicsit szenvedni. Vagy alternatív megoldásként ott a munka-fórum, abba tedd bele, megfelelő bérezés ellenében biztos mindenki szívesen megcsinálja.
Üdv
J
Igen
És hogy hasznom is legyen: Adatbázisból kép visszahozahozatalánál nagyon fontos, hogy amikor a képet olvasod fel lekéréskor, akkor a megfelelő MIME header-t küldd el. header nélkül különösen az IE szokott hátast dobni, de emlékeim szerint a FX is belehal.
Érdemes?
A közelmúltban volt egy topic erről és ha jól rémlik, akkor azt írta vki, hogy nem igazán érdemes adatbázisban tárolni a képeket. Belegondolva ezzel pontosan azt érjük el, hogy sok kérés érkezik az adatbázis szerverhez, amit éppen minimalizálni szokott az ember a terhelés csökkentése végett.
attól függ
Nem érdemes
Ráadásul elszartam 2 órát azzal, hogy kiderítsem, hogy bizony a csomagméret a kliens és a szerver oldalon is számít.
El kell tárolni lemezem, adni neki valami egyedi azonosítót oszt az infókat róla bevágni az adatbázisba, ha 50kB-nál nagyobb (default csomagméret 64kb asszem)
"teljesen kész php kell"
ha tanulni akarsz, akkor proclub hozzászólása szerintem kielégítő választ adott
ha csak használni akarsz ilyet, akkor keress a neten példákat, vagy kész szkripteket erre, biztosan találsz szerintem
szerintem tisztelj meg bennünket azzal, hogy ha elkezdted megírni és ha eközben elakadsz, akkor konkrét, kóddal kapcsolatos hibában kérsz segítséget
sztem :)
Köszi a segítségeket!
<?php
if ($submit) {
mysql_connect("*********.extra.sql","*******","*********");
mysql_select_db("binary_data");
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=mysql_query("insert into binary_data (description,bin_data,filename,filesize,filetype) ".
"values ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
$id= mysql_insert_id();
print "<p>This file has the following Database ID: <b>$id</b>";
mysql_close();
} else {
?>
<form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
File Description:<br>
<input type="text" name="form_description" size="50">
<input type="hidden" name="max_file_size" value="1000000">
<br>File to upload/store in database:<br>
<input type="file" name="form_data" size="50">
<p><input type="submit" name="submit" value="submit">
</form>
<?php
}
?>
Amint írtam az extra.hu tárhelyét használom. És itt van egy binary_data tábla e megfelelő sorokkal amik a következők:
id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
description CHAR(50),
bin_data LONGBLOB,
filename CHAR(50),
filesize CHAR(50),
filetype CHAR(50).
Kb. ennyi amit tudok. Ebben kérném a segítséget, hogy miért nem működik?
Előre is köszi mégegyszer az építő jellegű megoldásokat!
Nem fog menni
A némileg értelmesebb megoldás, amit Te is mondtál, hogy fájlban letárolni. Lemented lemezre és a BLOB helyett egy VARCHAR(255) mezőt alkalmazol, amibe beleírod az elérési útvonalat. Innentől kezdve csak annyi a dolgod, hogy a PHP oldalon ezt a fájlt berántsd, ha róla van szó.
Varchar
Ezt egy sima lekérdezéssel tudom majd behívni és kiíratni?
Na jó
Ja és légyszi barátkozz meg a Weblaboros fórummal, ha valamire válaszolsz akkor a válasz gombot használd, hogy látni lehessen mi mire válasz.