HAllo,

Ben met een systeem bezig waarbij mensen hun eigen fotos kunnen uploaden, de fotos uploaden naar Database werkt.

Nu wil ik de JPG's uitlezen vanuit de database maar dit werkt niet bij mij, het bestand download maar voor een deel, waardoor de JPG corrupt raakt.

zie hier mijn code;

$id = $_GET['id'];
$query = "SELECT name, type, size, content " .
"FROM upload WHERE id = '$id'";

$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);

header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;


exit;
}

In mijn database heb ik het content veld medium blob gegeven dus daar zou het ook niet aan kunnen liggen,

Nogmaals als ik in PHP/MYadmin kijk dan staat de JPG er gewoon bij met precies de grote hoe die ook in windows aan wordt gegeven
Ok

heb het op een andere DB geprobeerd (niet bij mij thuis) en het blijkt dus een fout in mijn db te zitten,

zou het iets met een TTL te maken kunnnen hebben???
Plaatjes opslaan in een database is geen goed idee en een database is daar eigenlijk ook niet voor bedoeld.

Waarom laat je de foto's niet naar een bepaalde map uploaden en zet je alleen de naam van/link naar de foto in de database?
Ok ja leek mij het meest logische op plaatjes op te slaan in een database, omdat je dan met een query je database kan uitlezen,

Waarom is het geen goed idee om plaatjes in je database op te slaan dan??
Omdat een database daar niet voor bedoeld is. Afbeeldingen zijn over het algemeen relatief groot, waardoor je database snel heel groot en vooral ook traag wordt. Dit komt de snelheid van je website zeker niet ten goede.

Terwijl als je gewoon een plaatje in een map hebt staan, het zo geladen is.
OK bedankt, eigenlijk wel logisch

Reageren