Kako koristiti PHP za prisilno preuzimanje datoteka

Kada razmišljate o tome, web preglednici su nevjerojatna izvedba složenih programa. To su alati koji su dio našeg svakodnevnog života - koristi se za sve, od provjere statusa prijatelja i obitelji, komuniciranja s tim ljudima, kupovine, gledanja videa, brige o našem financijskom životu i toliko više. Kao što su prevladavali kao što su preglednici u našim životima, stvarnost je da većina ljudi ne cijeniti koliko su stvarno korisni.

Iza scene

Jedna stvar koju pretraživači rade iza kulisa pokušava napraviti sve klikove koje osoba učini tijekom sesije pregledavanja zapravo nešto učiniti. To znači da se sve više vrsta datoteka može otvoriti za izravno gledanje u web preglednicima.

Većinu vremena to je dobra stvar, jer može biti vrlo frustrirajuće kliknuti vezu na dokument koji želite pročitati, a zatim ga pričekati da ga preuzmete i konačno otvorite na računalu. Ta frustracija doseže sljedeću razinu kada pričekate ovaj preuzimanje, samo da otkrijete da nemate pravi program za otvaranje dokumenta. Ovih dana, to se rijetko događa jer preglednici to uistinu prikazuju izravno u dokumentu. Primjerice, PDF datoteke se ne preuzimaju prema zadanim postavkama. Umjesto toga, prikazuju se izravno u web-pregledniku slično načinu prikazivanja web stranice.

Što ako imate datoteku koju želite da korisnici preuzimaju umjesto da ga gledaju izravno u web pregledniku?

Ako je to HTML datoteka ili PDF , ne možete samo objaviti vezu za taj dokument jer (kao što smo upravo pokrili) web preglednik automatski otvara te dokumente i prikazuje ih u liniji. Da biste te datoteke preuzeli na računalo korisnika, umjesto toga trebate napraviti nekakvu varljivost pomoću PHP-a.

PHP vam omogućuje promjenu HTTP zaglavlja datoteka koje pišete.

Ovaj proces ga čini tako da možete prisiliti datoteku za preuzimanje koju obično preglednik učitava u istom prozoru. To je savršeno za datoteke poput PDF-ova, datoteka dokumenta, slika i videozapisa koje želite da vaši korisnici preuzimaju, a ne konzumiraju izravno na mreži iz preglednika.

Trebat će vam PHP na web poslužitelju gdje će biti hostirane vaše datoteke, datoteku koja će se preuzeti i vrstu MIME datoteke.

Kako to učiniti

  1. Prenesite datoteku koju želite staviti na raspolaganje za preuzimanje na svoj web poslužitelj. Na primjer, recimo da imate PDF datoteku koju želite da korisnici preuzmu kada kliknu vezu. Prvo biste prenijeli tu datoteku u okruženje za hosting vaše web stranice.
    huge_document.pdf
  2. Uređujte novu PHP datoteku u web uređivaču - za jednostavnu upotrebu, preporučujemo im da ga imenete isto kao i preuzeta datoteka, samo uz proširenje .php. Na primjer:
    huge_document.php
  3. Otvorite PHP blok u svom dokumentu:
  4. Na sljedećem retku postavite HTTP zaglavlje:
    zaglavlje ("Sadržaj sadržaja: privitak; datoteka = veliki_dokument.pdf");
  5. Zatim postavite MIME vrstu datoteke:
    zaglavlje ("Vrsta sadržaja: aplikacija / pdf");
  6. Pokažite na datoteku koju želite preuzeti:
    readfile ( "huge_document.pdf");
  7. Zatim zatvorite PHP blok i spremite datoteku:
    ?>
  1. Vaša PHP datoteka bi trebala izgledati ovako:
    zaglavlje ("Sadržaj sadržaja: privitak; datoteka = veliki_dokument.pdf");
    zaglavlje ("Vrsta sadržaja: aplikacija / pdf");
    readfile ( "huge_document.pdf");
    ?>
  2. Povežite se s PHP datotekom kao link za preuzimanje s web stranice. Na primjer:
    Preuzmite moj veliki dokument (PDF)

Ne smije biti nikakvih razmaka ili kola u bilo kojem dijelu datoteke (osim nakon polu-debelog crijeva). Prazne linije uzrokovat će da će PHP biti zadani na MIME tekst / html i datoteka neće biti preuzeta.