Hoe brûk dan PHP om in bestannen te meitsjen

As jo ​​tinke oan dat, webblêders binne prachtige feiten fan komplekse programmearring. Se binne ark dy't in part fan ús deistich libben binne - brûkt foar alles troch te kontrolearjen op 'e status fan freonen en famylje, om te kommunisearjen mei dy minsken, om te keapjen, om te fytsen fan fideo's, om te soargjen foar ús finansjeel libbens, en safolle mear. As miskien as browsers binne yn ús libben, is de wurklikheid dat de measte minsken net wurdearje hoe't se brûkber binne.

Efter de skermen

Ien ding dat browsers efter de skermen dogge, besykje alle klikken dy't in persoan dwaan by in blêdzjen sille dogge dat wat dogge. Dit betsjuttet dat hyltyd mear triemtypen iepene wurde kinne foar it sjen litten direkt yn 'e webbrowsers.

Meast fan 'e tiid, dit is in goede saak, omdat it kin tige frustrearje om te klikken op in link nei in dokumint dat jo lêze wolle en dan moatte wachtsje foar it downloaden en úteinlik iepenje op jo kompjûter. Dizze frustraasje berikt de folgjende nivo as jo wachtsje op dizze download, allinich om te ûntdekken dat jo it goeie programma hawwe om it dokumint te iepenjen. Dizze dagen binne dat selden bard, om't browsers, daliks, it dokumint direkt ynline werjaan. Bygelyks, PDF-triemmen standert net standert. Yn stee dêrfan sjogge se direkt yn 'e webblêder, lykas hoe't in webside sjen sil.

Wat as jo in bestân hawwe dat jo wolle dat minsken ynlade kinne ynstee fan it direkt sjen yn 'e webbrowser?

As it in HTML- triem of in PDF is , kinne jo net gewoan in keppeling nei dit dokumint pleatse, om't (lykas wy krekt ôfdekt hawwe) in webblêder iepenje en automatysk dizze dokuminten iepenje en se ynlette. Om dizze triemmen downloaden te meitsjen nei in kompjûter fan jo persoan, moatte jo inkele problemen mei PHP dwaan.

PHP kin jo de HTTP- kopers fan triemmen wizigje dy't jo skriuwe.

Dit proses makket it dat jo in bestân kinne downloade, dat normaal de browser yn itselde finster lade. Dit is perfekt foar triemmen lykas PDFs, dokumintriemmen, ôfbyldings en fideos dy't jo wolle dat jo klanten downloade, mar net direkt online fia de browser brûke.

Jo sille PHP nedich hawwe op de webserver wêr't jo bestannen húshâldlik wurde, in triem te laden, en it MIME-type fan 'e triem yn' e fraach.

Hoe dit dwaan

  1. Ljep de triem dy't jo beskikber stelle wolle foar downloaden nei jo webserver. Soargje bygelyks jo in PDF-bestân dy't jo wolle dat minsken kinne laden as se op in keppeling klikke. Jo soenen earst dizze triem nei it hosting-omjouwing fan jo webside uploade.
    great_document.pdf
  2. In nije PHP-bestân yn jo webredaktor bewurkje - foar it maklik fan gebrûk, advisearje wy it deselde namme as jo ynladen bestân, allinich mei de útwreiding .php. Bygelyks:
    huge_document.php
  3. Iepenje it PHP-blok yn jo dokumint:
  4. Op de folgjende line set it HTTP-header yn:
    header ("Content-disposition: attachment; filename = huge_document.pdf");
  5. Set dan it MIME-type fan 'e bestân:
    header ("Ynhâldtype: tapassing / pdf");
  6. Sjoch nei de triem dy jo wolle downloade:
    readfile ("huge_document.pdf");
  7. Dan slute it PHP-blok en bewarje de triem:
    ?>
  1. Jo PHP-bestân moat sa sjen:
    header ("Content-disposition: attachment; filename = huge_document.pdf");
    header ("Ynhâldtype: tapassing / pdf");
    readfile ("huge_document.pdf");
    ?>
  2. Link nei jo PHP bestân as in downloadlink fan in webside. Bygelyks:
    Download myn grutte dokumint (PDF)

Der moat gjin romten wêze of weromkomming weromkommend oeral yn 'e bestân (útsein nei in heale-kolon). Blanklinen sille PHP feroarsaakje oan standert oan it MIME-type tekst / html en jo triem sil net downloade.