Ako používať PHP na vynútenie sťahovania súborov

Keď o tom premýšľate, webové prehliadače sú úžasné úlohy komplexného programovania. Sú to nástroje, ktoré sú súčasťou nášho každodenného života - používajú sa na všetko, od kontroly postavenia priateľov a rodiny, komunikácie s týmito ľuďmi, nakupovania, sledovania videí, starostlivosti o náš finančný život a toľko viac. Ako prevládajú ako prehliadače sú v našom živote, realita je, že väčšina ľudí nevie, aké užitočné skutočne sú.

V zákulisí

Jedna vec, ktorú prehliadače robia v zákulisí, je pokúsiť sa urobiť všetky kliknutia, ktoré človek robí počas relácie prehliadania, skutočne niečo urobiť. To znamená, že je možné otvoriť viac a viac typov súborov na zobrazenie priamo vo webových prehliadačoch.

Väčšinu času je to dobrá vec, pretože môže byť veľmi frustrujúce kliknúť na odkaz na dokument, ktorý chcete čítať, a potom ho musíte čakať, kým sa načíta a nakoniec otvorí na vašom počítači. Táto frustrácia dosiahne ďalšiu úroveň, keď počkáte na toto prevzatie, len zistíte, že nemáte správny program na otvorenie dokumentu. V týchto dňoch sa to zriedka stáva, pretože prehliadače skutočne zobrazujú dokument priamo v riadku. Súbory PDF sa napríklad v predvolenom nastavení neprevezmú. Namiesto toho sa zobrazujú priamo vo webovom prehliadači podobne ako by sa webová stránka zobrazovala.

Čo ak máte súbor, ktorý chcete ľudí stiahnuť, namiesto toho, aby ste ho priamo prezerali vo webovom prehliadači?

Ak ide o súbor HTML alebo PDF , nemôžete poslať odkaz na daný dokument, pretože (ako sme práve pokryli) webový prehliadač automaticky otvára tieto dokumenty a zobrazí ich inline. Ak chcete, aby sa tieto súbory stiahli do počítača človeka, potrebujete namiesto toho nejaký trik pomocou PHP.

PHP umožňuje zmeniť hlavičky HTTP súborov, ktoré píšete.

Tento proces robí tak, že môžete nútiť súbor na stiahnutie, ktorý by normálne prehliadač načítaval do toho istého okna. Je to ideálne pre súbory ako sú súbory PDF, súbory dokumentov, obrázky a videá, ktoré chcete stiahnuť zo svojich zákazníkov, a nie spotrebúvať online priamo z prehliadača.

Budete potrebovať PHP na webovom serveri, kde budú vaše súbory uložené, súbor na stiahnutie a typ MIME daného súboru.

Ako to urobiť

  1. Nahrajte súbor, ktorý chcete sprístupniť na stiahnutie na webovom serveri. Povedzme napríklad, že máte súbor PDF, ktorý si ľudia sťahujú po kliknutí na odkaz. Najskôr by ste tento súbor odovzdali do hostiteľského prostredia vašej webovej lokality.
    huge_document.pdf
  2. Upravte nový súbor PHP vo vašom webovom editore - pre jednoduché používanie odporúčame pomenovať ho rovnako ako váš prevzatý súbor iba s príponou .php. Napríklad:
    huge_document.php
  3. Otvorte blok PHP v dokumente:
  4. Na nasledujúcom riadku nastavte hlavičku HTTP:
    hlavička ("Obsah - dispozícia: príloha; názov súboru = obrovský dokument.pdf");
  5. Potom nastavte typ MIME súboru:
    hlavička ("Content-type: application / pdf");
  6. Prejdite na súbor, ktorý chcete stiahnuť:
    ReadFile ( "huge_document.pdf");
  7. Potom zatvorte blok PHP a uložte súbor:
    ?>
  1. Váš súbor PHP by mal vyzerať takto:
    hlavička ("Obsah - dispozícia: príloha; názov súboru = obrovský dokument.pdf");
    hlavička ("Content-type: application / pdf");
    ReadFile ( "huge_document.pdf");
    ?>
  2. Odkaz na súbor vo formáte PHP ako odkaz na stiahnutie z webovej stránky. Napríklad:
    Stiahnite si môj obrovský dokument (PDF)

V súbore by sa nemali nachádzať žiadne medzery alebo vozíky (s výnimkou prípadu s dvojbodkou). Prázdne riadky spôsobia, že PHP bude predvolené pre text / html typu MIME a váš súbor nebude stiahnutý.