[PHP] automatisch bestand downloaden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • wilcodl
  • Registratie: September 2004
  • Laatst online: 24-06 21:35
Hoi,
ik heb een script waarmee gasten op mijn website een bestand kunnen downloaden, en waarbij dat het aantal downloads in een database wordt bijgehouden, een deel van dat script ziet er zo uit:
PHP:
1
2
3
4
header("Pragma: no-cache");
header("Content-Type: application/octet-stream; name=$file");
header("Content-Disposition: attachment; filename=$file");
readfile("$server/$file");

Dit script werkt perfect op een ding na; als je het downloadscherm krijgt zie je niet hoe groot het bestand is dat je gaat downloaden, inplaats daarvan staat er 'onbekende bestandsgrootte' oid. Kan door aanpassing van dit script de grootte van het bestand wel worden weergegeven? Ik zelf vind het minder prettig als je niet kan zien hoe groot het bestand is dat je download en op hoeveel procent het is.
bvd voor reacties.

[ Voor 12% gewijzigd door wilcodl op 21-11-2005 20:56 . Reden: php code herkenning ]


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Is daar niet gewoon de header "Length:" voor? :?

Acties:
  • 0 Henk 'm!

Verwijderd

Tja, het HTTP protocol beschrijft ook de Content-Length header.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Er is een header voor de Content-Length. Hoe je headers zet weet je blijkbaar al en hoe je een filesize ontdekt moet je zelf uit kunnen vogelen. Succes. :)

edit:
Lol @ edit van NMe :P

[ Voor 11% gewijzigd door Voutloos op 21-11-2005 20:51 ]

{signature}


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Eerder de header Content-length. ;)

@Voutloos: O-)
edit:
Al schijnt Content-size ook te bestaan. :P

[ Voor 63% gewijzigd door NMe op 21-11-2005 20:52 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 19-09 19:14
Osiris schreef op maandag 21 november 2005 @ 20:50:
Is daar niet gewoon de header "Length:" voor? :?
Zoiets inderdaad. Dit was ook heel simpel te vinden via PHP/Google/GoT :+

/dev/null


Acties:
  • 0 Henk 'm!

  • wilcodl
  • Registratie: September 2004
  • Laatst online: 24-06 21:35
Bedankt voor de snelle reacties, zal er gelijk mee bezig gaan. Heb wel in got gezocht, maar niks gevonden. Zal volgende keer beter zoeken! :P

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

wilcodl schreef op maandag 21 november 2005 @ 20:57:
Bedankt voor de snelle reacties, zal er gelijk mee bezig gaan. Heb wel in got gezocht, maar niks gevonden. Zal volgende keer beter zoeken! :P
Er is ook nog zoiets als Google. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

-NMe- schreef op maandag 21 november 2005 @ 21:00:

Er is ook nog zoiets als Google. ;)
Ik denk dat het al op een eerder punt mis ging. Ik denk dat de topicstarter zich überhaupt niet realiseerde dat hij bezig was met het versturen van een bestand met behulp van het HTTP protocol, of dat hij er gewoon te weinig kennis van heeft. En dan heb je dus ook niks aan Google.

Overigens kun je uit zijn woorden ook al opmaken dat hij die 4 regels niet zelf heeft bedacht. Nee, dan lukt het vast ook niet om het aan te passen, als je dan ook nog eens niet weet dat je met het HTTP protocol aan de gang bent.
Pagina: 1