Dosyası indir tetikleyen bir bağlantı oluşturmak nasıl?

6 Cevap php

Bir kullanıcı "PDF" bağlantısını tıkladığında, ben görünmesini indirme istemi ve dosya indirmek için muktedir kullanıcı için istiyorum.

Şu anda, kullanıcı sadece PDF dosyasının adresine aktarılır.

Örneğin:

<a..[what goes here??]..>Download PDF</a>

Bu JavaScript ve bir arada var gibi görünüyor PHP bunu yapmak için gerekli.

Herkes bir örnek verebilir misiniz?

6 Cevap

. Apache üzerinde iseniz, sizin htaccess içine bu bırakabilirsiniz:

<Files *.pdf>
  Header set Content-Disposition attachment
</Files>

Bu indirme gibi tüm PDF belgeleri göndereceğiz. mod_headers olsa etkinleştirilmelidir.

Bunun üzerine bu kod ile bir PHP sayfasına yönlendirmek:

<?php
header('Content-disposition: attachment; filename=movie.mpg');
header('Content-type: video/mpeg');
readfile('movie.mpg');
?>

Lütfen <a href kod belirli bir sayfaya işaret gerekir, ve readfile senin kaynak arayacak

Further reading

Sadece bir yan not olarak, ben bir tarayıcıları ayarları geçersiz gerektiğini katılıyorum, ama patron sorduğunda bazen, sadece yapmak zorunda.

Sen web sunucusu yanıtı bir HTTP başlığı ekleyerek bağlantılı içeriği kaydetmek için tarayıcıyı zorlayabilirsiniz:

Content-Disposition: attachment; filename=<default filename to save as>

Diğer tarafta, ben gerçekten PDF belgeleri varsayılan başına, tarayıcıda açılacak ayrı bir PDF görüntüleyici açılabilir veya diske kaydedilmiş olmalıdır eğer genellikle söyler kullanıcının tarayıcı yapılandırması, geçersiz olarak nokta görmüyorum.

Ben senin soruna bir büyülü javascript / PHP çözüm, vanilya HTML var inanmıyorum:

<a href="docco.pdf" title="this is a link to a pdf">download the PDF</a>

ne gerekiyorsa yapacağız, bu kaynak "docco.pdf" istemek için tarayıcı yönlendirecektir, bu ile bir şeyler yapmak için tarayıcı (ve herhangi bir eklenti) kadardır.

Örneğin, kullanıcı bir pop-up ile ne yapacağını seçeneği sunan firefox addon "PDF download" var.

Bu demek ne olduğu belli değil

Şu anda, kullanıcı sadece PDF dosyasının adresine aktarılır.

Ama basit bir yaklaşım önermektedir:

<a href='http://example.com/download.pdf'>Download PDF</a>

downloading veya seçimi opening bir dosya tarayıcısı daha bir ayardır.

Sen HTML5 senin bir etiketi download özellik kullanabilirsiniz.

<a href="http://love4cats.com/kitten-catalogue.pdf" download>Download the CATalogue</a>

Siz analitik kontrol ve hedef tarayıcı niteliğini desteklediğinden emin olun. Tarayıcı desteği için caniuse.com entry sayfasına bakınız.