Kon Unsaon Paggamit ang PHP sa Pagpilit sa Pag-download sa File

Sa diha nga imong hunahunaon kini, ang mga web browser mao ang mga katingalahan nga mga komplikado nga mga programa. Kini mga himan nga kabahin sa atong adlaw-adlaw nga kinabuhi - gigamit alang sa tanan gikan sa pagsusi sa kahimtang sa mga higala ug pamilya, sa pagkomunikar sa mga tawo, pagpamalit, pagtan-aw sa mga video, pag-atiman sa atong pinansyal nga kinabuhi, ug daghan labaw pa. Ingon nga kasagaran nga mga browser anaa sa atong mga kinabuhi, ang kamatuoran mao nga ang kadaghanan sa mga tawo wala makasabut unsa kini ka mapuslanon.

Luyo sa mga Eksena

Usa ka butang nga gihimo sa mga browser sa likod sa mga talan-awon mao ang pagsulay sa paghimo sa tanan nga mga pag-klik nga gibuhat sa usa ka tawo sa usa ka sesyon sa pag-browse nga aktwal nga adunay usa ka butang. Kini nagpasabot nga mas daghan pa nga matang sa mga file mahimo nga bukas alang sa direkta nga pagtan-aw sa web browsers.

Kadaghanan sa panahon, kini usa ka maayong butang, tungod kay kini makapahigawad pag-ayo sa pag-klik sa usa ka link sa usa ka dokumento nga gusto nimo nga basahon ug unya kinahanglan nga maghulat niini aron ma-download ug sa katapusan bukas sa imong computer. Kana nga kapakyasan moabut sa sunod nga ang-ang sa dihang maghulat ka niini nga pag-download, aron lamang mahibal-an nga wala ka'y ​​husto nga programa sa pag-abli sa dokumento. Kini nga mga adlaw, nga panagsa ra mahitabo tungod kay ang mga browsers, sa pagkatinuod, nagpakita sa dokumento direkta nga inline. Pananglitan, ang mga file sa PDF wala mag-download sa default. Hinunoa, direkta sila nga nagpakita diha sa web browser sama sa kung unsa ang gipakita sa usa ka web page.

Unsa kaha kon ikaw adunay usa ka file nga gusto nimo ipa-download sa mga tawo imbis nga tan-awon kini direkta sa web browser?

Kon kini usa ka file sa HTML o usa ka PDF , dili ka mahimo mag-post lang sa usa ka sumpay sa dokumento tungod kay (sama sa atong nasabtan) ang usa ka web browser nag-abli sa mga dokumento nga awtomatik ug nagpakita niini nga inline. Aron mahimo kining mga file nga i-download sa kompyuter sa usa ka tawo, hinuon kinahanglan nga buhaton ang pipila ka pagpanglingla gamit ang PHP.

Ang PHP nagtugot kanimo sa pag-usab sa mga header sa HTTP sa mga file nga imong gisulat.

Kini nga proseso naghimo niini aron nga mapugos nimo ang usa ka file nga i-download nga sa kasagaran ang browser mag-load sa sama nga bintana. Kini hingpit alang sa mga file sama sa mga PDF, mga file sa dokumento, mga hulagway, ug mga video nga gusto nimo nga i-download sa imong mga kustomer kaysa mag-usik sa internet direkta gikan sa browser.

Kinahanglan nimo ang PHP sa web server diin ang imong mga file mahimong ibutang, usa ka file nga i-download, ug ang MIME type sa file nga pangutana.

Unsaon sa Paghimo Kini

  1. Pag-upload sa file nga gusto nimo nga magamit aron ma-download sa imong web server. Pananglitan, moingon ka nga adunay PDF nga file nga gusto nimo nga i-download sa mga tawo kon sila mag-klik sa usa ka link. Imong unang i-upload ang file ngadto sa palibot sa hosting sa imong website.
    huge_document.pdf
  2. Pag-usab sa usa ka bag-o nga PHP nga file sa imong web editor - alang sa kasayon ​​sa paggamit, girekomenda namon ang pagngalan niini sa sama nga ngalan sa imong na-download nga file, lamang sa extension. Php. Pananglitan:
    dako nga_document.php
  3. Ablihi ang block sa PHP sa imong dokumento:
  4. Sa sunod nga linya, itakda ang header sa HTTP:
    header ("Content-disposition: attachment; filename = huge_document.pdf");
  5. Unya ibutang ang MIME-type sa file:
    header ("Content-type: aplikasyon / pdf");
  6. Itudlo ang file nga gusto nimo i-download:
    readfile ("huge_document.pdf");
  7. Dayon isira ang block sa PHP ug i-save ang file:
    ?>
  1. Ang imong PHP nga file kinahanglan nga ingon niini:
    header ("Content-disposition: attachment; filename = huge_document.pdf");
    header ("Content-type: aplikasyon / pdf");
    readfile ("huge_document.pdf");
    ?>
  2. Pag-link sa imong PHP nga file ingon nga download link gikan sa usa ka webpage. Pananglitan:
    I-download ang akong dako nga dokumento (PDF)

Kinahanglan nga walay mga luna o karwahe nga mobalik bisan diin sa file (gawas human sa usa ka semi-colon). Ang mga blangko nga linya maghimo sa PHP nga default sa MIME type text / html ug ang imong file dili mag-download.