Bestanden uit database downloaden

Pagina: 1
Acties:

  • Undertaker2
  • Registratie: Januari 2000
  • Laatst online: 18-05 02:21
Uploaden gaat inmiddels ok. Helaas werkt het downloaden nog niet helemaal. Ik heb tot nu toe het volgende script dat met "getdata2.php?name=bestand.zip" wordt aangeroepen:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if ($name)
    {
    $dbUser     = "********";
    $dbPsw      = "*******";
    $host       = "**********";
    $db     = "*******";
    
    $user = 'bram';
    $group = 'admin';
    
    $dbId = mysql_connect($host, $dbUser, $dbPsw); //connectie met MySQL maken
        mysql_select_db($db); //database selectie
        
    $fileQuery = "select FILE_DATA from FILE where FILE_NAME='$name' and FILE_USER='$user' and FILE_GROUP='$group'";
    $fileResult = @mysql_query($fileQuery);
    
    $data = @MYSQL_RESULT($fileResult,0,'FILE_DATA');
    
    Header("Content-type: application/x-zip");
    echo $data;
    }


In de database staat "bestand.zip"
Afbeeldingslocatie: http://home.planet.nl/~snuve011/bram/record.jpg

Als ik bovenstaande code uitvoer, dan krijg ik onderstaand downloadvenster:
Afbeeldingslocatie: http://home.planet.nl/~snuve011/bram/getdata2.jpg

Als ik dit bestand save naar de harde schijf, dan heet het "getdata2.php". Het werkt dus BIJNA, maar helaas niet niet helemaal. Bovendien is de filesize altijd 18 bytes.

Dit script heb ik via http://www.phpbuilder.com...orian19991014.php3?page=1

http://ppewww.ph.gla.ac.uk/~flavell/www/content-type.html
Content types heb ik ook al veranderd...

Weet iemand wat er fout gaat? google.com biedt al helemaal geen oplossing en de hits die ik krijg gaan over het uploaden naar een folder. Het enige topic op GoT wat van toepassing was verwees weer naar phpbuilder.com

p.s Ik weet dat het plaatsen van bestanden in een database verre van ideaal is.

[ Voor 10% gewijzigd door Undertaker2 op 22-11-2002 14:41 ]

AMD PoloMarco 23500 gigakilometer - 96" Quadcrystal scherm - Detonator 28010.25 afgerond op 2 decimalen - PlakBand @ 768 TB - 512 GB ZIGB - UltraFlex 100 GPU @ 5.5 ghz / 10 ghz - Isootjes @ 1 GB/sec


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Header
code:
1
2
Content-type: application/zip ( o.i.d. weet ik niet zeker )
Content-disposition: inline; filename=bram.zip

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Undertaker2
  • Registratie: Januari 2000
  • Laatst online: 18-05 02:21
De toevoeging van die tweede regel lost inderdaad het bestandsnaamprobleem op. Thnx.
Als ik readfile($name); gebruik ipv echo $data; , dan wordt de filesize altijd 181 bytes... niet echt een voorruitgang dus ;) Het bestand blijft 'corrupt'

AMD PoloMarco 23500 gigakilometer - 96" Quadcrystal scherm - Detonator 28010.25 afgerond op 2 decimalen - PlakBand @ 768 TB - 512 GB ZIGB - UltraFlex 100 GPU @ 5.5 ghz / 10 ghz - Isootjes @ 1 GB/sec


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

als je een corrupt bestand hebt, moet je ff proberen fpassthru te gebruiken. Kan zijn dat in jouw php-versie de readfile (nog) niet binary-safe is.

Zorg ook dat je geen foutmeldingen in je script hebt, want die komen anders in het bestand terecht.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Undertaker2
  • Registratie: Januari 2000
  • Laatst online: 18-05 02:21
Great.... er zat een foutje in het uploadscript waardoor het *leek* alsof de binairy data geupload werd.

8)7

echo $data is was dus al voldoende.

AMD PoloMarco 23500 gigakilometer - 96" Quadcrystal scherm - Detonator 28010.25 afgerond op 2 decimalen - PlakBand @ 768 TB - 512 GB ZIGB - UltraFlex 100 GPU @ 5.5 ghz / 10 ghz - Isootjes @ 1 GB/sec


Verwijderd

alhoewel echo $data niet al te verstandig is....
readfile en fpassthru zijn ervoor bedoeld om binary data te lezen en schrijven naar de ontvanger...

echo parsed zelf ook nog elementen neem bijv $ enzo.... en evt. escapes...
Pagina: 1