Image downloaden uit database
Ik heb een upload site gemaakt om foto's te kunnen uploaden. Deze werkt perfect alleen heb ik een probleem bij het downloaden of weergeven van een geupload plaatje.
Ik krijg in mijn scherm teksten als
"GIF89aÉÄÀÀÀ€€€@@@ððð``` 000ÐÐÐ ààà°°°pppPPPÿÿÿ!ù,Éÿ $Ždižhª¢ ±¾p,›Àlßx®Ï@±ÿ@B,:ÂC @:Q‹ÁâIRAÀe=YnwL¾´#!.Ï CúQsÛï)x¾ 0šx& rs Š‹|~•T•“hiŒ¡x {¦§¨›©©R¢°x_´µ¶Zm±»d=·¿À|[¼ÅwqÁÊ©‰ÆÏx †ËÊkºÐÙ6˜ “ßàáßÕ¿ âꓘ•ØÚ‹ ¬æ÷øÁ«é€ðc™”ËG° 9 þü;‚`A)ƒ#.Cçl!iÔ$jÜìšEÈ2é[»“(Ûÿ%i®@Ê—˜ÀE¸ÌåG (3P`€w9Ý3P'€ 83À榈YÀÖøs’ÀÜ @0˜6’ØB¨·<Žª ÔŒ¿riSà m€©c°¬åÇ´$€€f^¯w(ƒ[lO¼(ý‹5nGF†i5hì†l-„ñ,®5%T¿ÇÃëªb(˵̆"ÐöVçh SȬˆ0^Ÿo LõWƒb~¾Y6í'¨[í5ö‹H1=·¨¶¢Ó–^h±Q€V½–ô.ÝóN/FZ{¶ðUAßjüŽã:ÊŸÚŽ„· ö©ŠÁjy c_ ò™ò 40€ÿûEçÞX¸fÄ|ØD觥ñ[Z÷`Ué6aq°|/`øˆ†6(Àþe•Ý) ¸Bp· "
te zien.
Ik gebruikk het volgende script om de data uit de database te halen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(!empty($_GET['id']))
{
$id = $_GET['id'];
include("connection.php");
$sql = "SELECT name,type,length,content FROM foto WHERE id = '$id' ";
$result = mysql_query($sql) or die(mysql_error());
list($name, $type, $size, $content) = mysql_fetch_array($result);
header ("Cache-control: private");
header ("Content-Disposition: attachment; filename=$name");
header ("Content-length: $size");
header ("Content-type: $type");
echo $content;
mysql_close($db);
}
else
{
echo "geen foto gevonden";
}
?>
if(!empty($_GET['id']))
{
$id = $_GET['id'];
include("connection.php");
$sql = "SELECT name,type,length,content FROM foto WHERE id = '$id' ";
$result = mysql_query($sql) or die(mysql_error());
list($name, $type, $size, $content) = mysql_fetch_array($result);
header ("Cache-control: private");
header ("Content-Disposition: attachment; filename=$name");
header ("Content-length: $size");
header ("Content-type: $type");
echo $content;
mysql_close($db);
}
else
{
echo "geen foto gevonden";
}
?>
Kan iemand mij helpen bij het zoeken naar de fout of iets dergelijks??
Greetz MUNKY
FF alstoevoeging mijn upload script. misschien dat het daar mee te maken kan hebben.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
if($_FILES['foto']['size'] == 0)
{
echo "Er is een probleem opgetreden.";
}
else
{
$fileName = $_FILES['foto']['name'];
$tmpName = $_FILES['foto']['tmp_name'];
$fileSize = $_FILES['foto']['size'];
$fileType = $_FILES['foto']['type'];
$fp = fopen($tmpName, "rb");
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
$bijschrift = $_POST['bijschrift'];
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$sql = "INSERT INTO foto VALUES('','$fileName','$fileType','$fileSize','$content','$bijschrift')";
mysql_query($sql) or die(mysql_error());
echo "De foto $fileName is opgeslagen in de database.";
}
?>
if($_FILES['foto']['size'] == 0)
{
echo "Er is een probleem opgetreden.";
}
else
{
$fileName = $_FILES['foto']['name'];
$tmpName = $_FILES['foto']['tmp_name'];
$fileSize = $_FILES['foto']['size'];
$fileType = $_FILES['foto']['type'];
$fp = fopen($tmpName, "rb");
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
$bijschrift = $_POST['bijschrift'];
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$sql = "INSERT INTO foto VALUES('','$fileName','$fileType','$fileSize','$content','$bijschrift')";
mysql_query($sql) or die(mysql_error());
echo "De foto $fileName is opgeslagen in de database.";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Stefan Duijvestijn
je kunt beter het pad en naam van de foto in de database zetten en die er uithalen
koen:
Gewijzigd op 01/01/1970 01:00:00 door Stefan Duijvestijn
Het is simpelweg niet efficient om een foto in een database te zetten. Veel slimmer, efficienter en sneller is het om die foto gewoon op een fileserver te zetten en een uniek id in de database te schrijven.
Misschien als toevoeging is dat ik het wel met de functie addslashes in de database heb gezet. Heeft dit er misschien nog mee te maken dat het niet wil lukken???