Image downloaden uit database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan Duijvestijn

Stefan Duijvestijn

31/05/2006 14:49:00
Quote Anchor link
Hey,

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‹ÁâI­RAÀe=YnwL¾´#!.Ï CúQsÛï)x¾ 0šx& rs Š‹|~•T•“hiŒ¡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(ƒ[l­O¼(ý‹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)
PHP script in nieuw venster Selecteer het PHP script
1
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";
}

?>


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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.";
        }

?>
Gewijzigd op 01/01/1970 01:00:00 door Stefan Duijvestijn
 
PHP hulp

PHP hulp

17/11/2024 00:21:26
 
Auke

Auke

31/05/2006 14:53:00
Quote Anchor link
Het moet wel kunnen dacht ik om een foto in je database te zetten maar dat i niet het handigste.

je kunt beter het pad en naam van de foto in de database zetten en die er uithalen
 
Koen verschueren

koen verschueren

31/05/2006 15:04:00
Quote Anchor link
zet deze header eens erbij.je moet wel gif aanpassen naar het formaat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header('Content-Type: image/gif');
 
Stefan Duijvestijn

Stefan Duijvestijn

31/05/2006 15:06:00
Quote Anchor link
koen:
zet deze header eens erbij.je moet wel gif aanpassen naar het formaat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header('Content-Type: image/gif');[/quote]


Hij haalt automatisch al het content-type uit de database op en slaat deze op in de variabele $type
Gewijzigd op 01/01/1970 01:00:00 door Stefan Duijvestijn
 
Arjan Kapteijn

Arjan Kapteijn

31/05/2006 15:28:00
Quote Anchor link
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.
 
Stefan Duijvestijn

Stefan Duijvestijn

31/05/2006 17:12:00
Quote Anchor link
Het zal vast wel sneller, efficienter en slimmer zijn om ze in een map op te slaan maar het moet toch mogelijk zijn het werkend te krijgen. Ik ben namelijk voor school aan een opdracht bezig waar dit toch wel een vereiste is vandaar dat ik het op deze manier doe.

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???
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.