Hoi,
deze middag ben ik nog eens aan de slag gegaan en begonnen aan een nieuw upload script met een mysql database.
Nu met het uploaden zijn er geen problemen, met het uitlezen van kleine bestanden ook nog niet, maar eens ik een iets groter bestand wil laten uitlezen gaat het mis.

Hij stopt op een gegeven moment met laden, hij laad bv maar 1/3 van de afbeelding.

Overzicht bestanden: http://paradox-productions.net/imagedb/viewfiles.php
Upload bestanden: http://paradox-productions.net/imagedb/upload.php
Bekijk bestand: http://paradox-productions.net/imagedb/viewfile.php?f=

Bestand 1 (werkt): http://paradox-productions.net/imagedb/viewfile.php?file=LogoV2.png
Bestand 2 (werkt niet): http://paradox-productions.net/imagedb/viewfile.php?file=Angel1.png


Weet iemand hoe dit komt?
Dit is m'n script om bestanden uit te lezen:<?php
##########################################
# © 2009 Wouter De Schuyter (AKA Paradox)
# IMAGE UPLOAD SCRIPT DB
# http://www.paradox-productions.net/
# [email protected]/
# VERSION 1.0
##########################################

// SET TIME LIMIT IN SECONDS
set_time_limit(60); // 60 > 1 MIN.

// INCLUDE DATABASE CONNECTION
include('connection.inc.php');

// GET THE NAME OF THE FILE
$file = $_GET['file'];

// CHECK IF THERE IS A FILE SELECTED
if(!empty($file)) {

// SEPERATE THE NAME AND THE EXTENSION
$handle = explode(".", $file);

// NAME
$name = $handle[0];

// EXTENSION
$ext = strtolower(end($handle));

// SELECT THE FILE FROM THE DB
$sql = mysql_query("SELECT * FROM files WHERE name = '" . $name . "' AND ext = '" . $ext . "'");

// CHECK IF THE FILE EXIST
// FILE DOES NOT EXIST
if(mysql_num_rows($sql) !== 1) {
echo "File does not exist..";
}
// IF IT EXIST, EXECUTE CODE
else {
$result = mysql_fetch_assoc($sql);
header("Content-type:" . $result['ctype']); // HEADER (CONTENT TYPE)
echo $result['content']; // LOAD FILE FROM DB
}
}
// IF THERE IS NO FILE SELECTED
else {
echo "Please select a file..";
}
?>

DB Structuur:
Hoe records zijn weg geschreven:


Dank bij voorbaat,
Paradox
Ik raad je sterk af om plaatjes (bestanden) direct in een database te stoppen. Het heeft geen voordelen, alleen maar mogelijke nadelen. Het is traag, er kunnen makkelijk fouten onstaan, enz zoals bij jou het geval ga je een png bestand in het type text wegschijven wat al helemaal totaal verkeerd is! Het is niet eens een data opslag type!
Je kunt beter gewoon het bestand opslaan op de fileserver (deze is er immers voor) en het bestand een unieke string als naam geven, deze naam dump je dan in de db.
Er is hier vaak genoeg over gesproken.
Wat karl zegt, nooit plaatjes opslaan in een DB, hebben ze me hier geleerd :)

Wat ik zou doen is de de naam opslaan, een show_naam meegeven, en de link er naar toe ( gerekend vanaf je root). Zo heb je altijd de link bij de hand en kun je ecentueel je link aanpassen. Bovendien kun je zo ook namen wijzigen van je plaatjes. die show_naam kun je dan gebruiken hiervoor. Je houdt je bronbestand wel, de link ook maar je kunt het anders presenteren.

Reageren