PHP set içeriği dispostion başlık Firefox ile çalışmıyor

3 Cevap php

Ben genel script veri gönderen bir form düğmesi (Form yüklenen aynı sayfa, index.php) doğru POST değişkenleri bu komut dosyasına teslim edilir ve eğer yazdırmaya kullanıcı için bir PDF döndürür (ile sahip İlgili form bilgi yüklü, ve diğer DB bilgisi, vb.)

Sorun olursa olsun içerik türünü ve başlığında için içerik eğilim ayarlamak ne, Firefox kaydetmek veya belgeyi açmak birine kullanıcıya sorar olmasıdır.

Firefox seçeneği bir "Birlikte aç" gibi kendi Adobe Reader eklentisini sundu, bu kadar kötü olmazdı, ama sadece nedeniyle kimlik ve varsayılan tarayıcı ayarlarının benim kontrolüm dışında olmak, vb sorunlara neden gerçek Adobe Reader App (sunar .)

Yani (. Htaccess dosyasında veya fiili başlığında ya) Firefox tepki application / pdf MIME türü ile PDF ve böylece sanki dosya tedavi gerekir hem de bu mesajı almak için değiştirmeniz gereken bir şey sunucu tarafı var Bir PDF sert bir bağlantı değil, bir sunucu tarafından oluşturulan stream vardı?

Son bir şey ...

Ben "inline" Firefox dosyasını açar, ama sadece "index.php" olarak sayfayı yüklemeden önce Content-Disposition ayarlayın. Kullanıcı PDF alır sonra onlar geri düğmesine tıklayarak çalışırsanız, onlar PDF değil, onlar verileri sunulan tek yüklü index.php çarptı. Şeylerin Mac tarafında, Firefox PDF yüklemek ama bunun yerine bir eki sanki "index.php" kaydetmek veya açmaya sorar.

Teşekkürler!


Şu anda (bu sırayla) denedim kodu:

This one gets treated as a file attachment, thus the Mime-Type rule for Firefox is ignored for the file extension rule:

    header("Content-Type: application/pdf");
    header('Content-Disposition:attachment; filename="testing.pdf"');

This one works but loads index.php first and then loads the file, which is unattractive, confusing, and puts an extra request (and thus an extra page) between the pdf and the original page:

    header("Content-Type: application/pdf");
    header('Content-Disposition:inline; filename="testing.pdf"');

This one gets treated the same as attachment (in Firefox) and thus only prompts to save or open in Adobe Reader rather than defaulting to Adobe Reader plugin:

    header("Content-Type: application/pdf");
    header('Content-Disposition:pdf; filename="testing.pdf"');

Ayrıca son örnekte ben içerik eğilim hem pdf ve application\pdf denedim fark. Fark yok.

Ben henüz denemedim tek şey ocet / akımı olarak tipini belirliyor. Ben parmaklarımı çapraz olacak ama nefesimi tutmak olmaz.

3 Cevap

Sen ". Pdf" in bağlantı ucuna sahip deneyin, ve PHP komut eşlemek için mod_rewrite gibi bir şey kullanabilirsiniz.

Eğer PDF bir bağlantı oluşturma ve onları linke tıklayın sahip deneyebilirsiniz ben Firefox POST yanıt olarak PDF işleme zorlanıyorum olduğunu düşünüyorum, bağlantı blah.php gibi değişkenleri GET içerebilir? VAR = 123 yüzden hala dinamik PDF oluşturabilir.

Mime-tipi application/octet-stream indirmek için tarayıcı zorlamak gerekir. Bu size yazılan istediğiniz buysa ben söyleyemem.