Bilder in der db zu speichern ist überhabt kein prob.
einige db-manager haben zum beispiel extra da drauf optimierte binärtypen mit im gepäck.
Kann man auch mit mysql oder ms-sql machen.
meine radio webseite läuft schon immer so das sich die meisten bilder in der db befinden.
alle moderatoren oder interpreten zb sind als files nicht existend.
Es ist im übrigen eher vorteilhaft für die performance bilde rin der db zu speichern, die ist nämlich dafür gedacht viele daten in möglichst geringer zeit bereit zu stellen, das normale filesystem kommt da schon ewig nicht mehr hinterher.
jetzt komm mir keine rmit "aber die db liegt doch auf der hd, also muss das fs doch sowieso..." nein muss es nicht der db-.manager öffnet son db file und danach hat das fs damit ziemlich wenig bis nichts mehr mit zu tun.
wenn du viele icons und kleine bilder anzeigen willst bricht das in der db speichern alle recorde. von der optimierten funktion abgesehen greift natürlich noch der db cache grad bei icons und grafken die auf dem tracker angezeigt werden, mit vielen gleichzeitigen zugriffen.
allerdings benötigt die db dann auch mehr speicher, am besten soviel geht für indexierung und caching bereit stellen.
nen mysql mit standart config unoptimiert machst du natürlich tot wenn du alle grafken in einer db speicherst.
ich tippe mal das bastelfreaks erfahrung daher rührt
.torrent files sind auch kein prob hab ich schon mit experimentiert, soll eine funktion meiner source werden, weil mich habend ie dinger schon immer genervt.
warum auch nicht was macht der tracker den?
das .torrent was er bekommt legt er in den ordner.
und wenn du kommst und es saugst wird es zerlegt und mit deinen daten da drin wieder zu einem file verknüpfelt um es dir zu senden, da smachste mit nem binärfile aus der db um einiges eleganter.
mal ein kleines beispiel wie so ein kleines php aussehen kann um bilder aus der db anzuzeigen.
das schnippselchen würde als ersatz für das bild in der img src stehen
PHP-Code:
$query ="select * from bilddaten where bildname = '$_GET[bild]'";
$result=@mysql_query($query);
$row=@mysql_fetch_array($result);
$data = $row['bilddaten'];
$type = $row['filetype'];
$titel = $row['titel'];
// header setzen ohne browser caching damit er einem auch sicher immer das neue bild anzeigt
Header("Content-type: $type; Expires: Mon, 26 Jul 1997 05:00:00 GMT; Pragma: no-cache; Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
// bild aus den db daten erzeugen
$im = @imagecreatefromstring($data);
// wenn man will noch nen eigenes logo auf jedes bild
//$logo = imagecreatefrompng("images/logo.png");
//$cBackground = ImageColorClosest($logo, 255, 255, 255);
//ImageColorTransparent($logo, $cBackground);
//ImageCopyMerge($im , $logo, 3, 3, 0, 0, ImageSX($logo), ImageSY($logo), 100);
// zusätzlich noch ne beschriftung mit schlagschatten?
// $farbe1 = @imagecolorallocate($im, 255, 255, 255);
// $farbe2 = @imagecolorallocate($im, 0, 0, 0);
// @imagestring($im, 5, 11, ((@ImageSY($im) - 16)), $titel, $farbe2);
// @imagestring($im, 5, 10, ((@ImageSY($im) - 17)), $titel, $farbe1);
// bildausgabe erzeugen
@imagejpeg($im);
// bildobject löschen
@imagedestroy($im);
kann man sicher besser machen, soll dir auch nur zeigen was man so anstellen kann.
__________________
- Der Bezug zum eigentlichen Thema nimmt mit jedem Post kontinuierlich ab -
- Jedes Thema kann ganz leicht in etwas komplett anderes geändert werden -