file Downloader

Door Ruud Verbij, 20 jaar geleden, 2.583x bekeken

Naar aanleiding van het script van Koko op 13 maart ( http://www.phphulp.nl/php/scripts/2/948/ ) en de reacties hierop heb ik even kort met wat copy/paste werk een class gemaakt voor het geforceert downloaden.

Gesponsorde koppelingen

PHP script bestanden

  1. file-downloader

 

Er zijn 8 reacties op 'File downloader'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Manaus
Manaus
20 jaar geleden
 
0 +1 -0 -1
ziet er goed uit:)
Robert Deiman
Robert Deiman
20 jaar geleden
 
0 +1 -0 -1
Ziet er niet goed uit!!!

Je gebruikt met file() een voorgedefinieerde php functie. Niet doen dus, misschien dat het prima werkt hoor, maar zorg dat je hiervoor niet de naam van een voorgedefinieerde php functie gebruikt.

Verder ziet het er prima uit hoor :)
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Hoezo is het fout om een voorgedefinieerde functienaam te pakken. In PHP is een functie en een klasse bij mijn weten totaal iets anders (in tegenstelling tot Javascript) en kan het geen kwaad. Dus, vertel eens, wat is jouw motief om het af te raden?

Wat ik alleen nog kan aanraden is fpassthru in plaats van file_get_contents. Schijnt minder geheugen te gebruiken en daarmee sneller te zijn.
Robert Deiman
Robert Deiman
20 jaar geleden
 
0 +1 -0 -1
Ik zeg ook niet dat het fout is, maar het is netter (vind ik) om daar een naam voor te pakken zodat je je niet kan vergissen. Deze class kan je bijvoorbeeld net zo goed get_File noemen, hij gaat toch die file voor je "ophalen". Dus hij omschrijft de Class ook nog beter met een andere naam.

Ik snap dat het prima werkt zo, dus het is geen groot probleem, (kwam denk ik wel anders over he :S) maar voor de duidelijkheid van je code kan het wel eens handig zijn.
Ruud Verbij
Ruud Verbij
20 jaar geleden
 
0 +1 -0 -1
Je hebt helemaal gelijk Robert, nooit bij nagedacht, is nu ook ge-update.
Het is ook niet duidelijk om dat te doen.
@Jelmer; bedankt voor de tip, ook ge-update!
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Sorry, ik had het fout, ik haal fpassthru & readfile door elkaar. readfile is nog net even iets beter in dit geval dan fpassthru. Let wel dat beide functies niet het bestand zelf inladen, maar als het ware 'doorsturen'. Dus $content zal niet de echte inhoud bevatten. strlen zou je dan dus ook moeten vervangen door bijvoorbeeld filesize.
Rudie dirkx
rudie dirkx
20 jaar geleden
 
0 +1 -0 -1
De header Content-Length hoef je niet eens te sturen :S Doe je dat ooit? Ooit in je PHP scripts? Nee, en toch komt-ie altijd in de response headers terecht!
Automatisch dus. Content-Length kan je dus weglaten, is weer wat minder process.
Content-Transfer-Encoding voegt ook ernstig weinig toe (waar heb je deze headers vandaan man? Op php.net staat een letterlijk voorbeeld.).
Heel die cache control lijkt me ook niet nodig (misschien wel niet slim, want twee keer hetzelfde bestand downloaden is zonde, 1 keer uit cache halen wel zo efficient).
Leuke class, maar beetje overdreven denk ik... Het kan zonder class in 5 regels ofzo... Denk dat je er beter een functie van kan maken. En dan met readfile() omdat die geen file handler nodig heeft.

Edit:
Je Content-Type is niet variabel. Is octect-stream altijd goed? Ook als je plaatje of txt bestand wil downloaden? Weet niet wat het betekent, maar lijkt me niet goed... 1 type voor alle bestanden. misschien wel...
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Roy
Roy
20 jaar geleden
 
0 +1 -0 -1
Mooi script hoor ;)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. file-downloader

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.