Siteden internet explorer xls dosyayı açmak için seçeneğini kapatın?

2 Cevap php

AMAÇ:

Ben onları sunucuya excel dosyaları kurtarmak için olanak sağlayan bir istemci için bir web uygulaması inşa etmişlerdir.

Ben ilk bir yüklenenler klasörde bu dosyaları saklanır ve doğrudan uygulamanın içinde sayfalara (örneğin Dosya) onlara bağlı uygulama inşa zaman.

Yansıması bu yüzden web kök yukarıdaki dosyaları saklamak için uploader dosya değişti ve böylece doğrudan erişimi engellemek çok güvenli değildi.

Ben bir php 'retriever' dosyası (örneğin Dosya) yoluyla geri kullanıcıya dosyaları sunuyor. (Bazı kullanıcı kimlik kontrolünden sonra) dosyası gibi görünüyor:

header("Content-type: application/octet-stream");
$_file = $_GET['filename'];
$sPattern = '/\s*/m';
$sReplace = '';

$_strippedfile = preg_replace( $sPattern, $sReplace, $_file );
header("Content-Disposition: attachment; filename=".$_strippedfile."");
echo file_get_contents('/var/www/uploads/'.$_file);

SORUN:

Kullanıcı yerine internet explorer 'kaydet' daha 'açık' seçtiği sürece her şeyden çalışıyor. Excel dosyasını açmaya çalışır ve 'atar ... bulunamadı. Dosya adının yazımını denetleyin ve dosya konumu 'doğru olduğunu doğrulayın.

Ben o hatayı google'dan ve o (yol dahil) dosya uzunluğu ile ilgisi olduğunu görünür. Ne yazık ki geçici internet dosyalarının yolunu benim kontrolüm dışında dosyayı kaydetmek için kullanıcıyı zorlamak yerine onu açmak için bir yol olup olmadığını bu yüzden merak ediyorum nedir? [Görünüşe göre bu yerel olarak yapılandırılmış olabilir ama hepsi yönetici hakları aşağı bağlı olduğu bir şirket ağında çünkü a) Müşterilerimin çok teknik ve b) değildir.]

Diğer fikirler karşıladı.

2 Cevap

Sen başlığını göndererek IE8 dosyaların Aç önleyebilir

X-Download-Options: noopen

Önceki sürümlerinde, XLS dosyasını içeren sayfaya DownloadOptions meta etiketi eklemek gerekir.

Ama sen vuruyorsun sorun dosya ve cevaba önbelleğe başlıkları ile yapmak için her şeyi uzunluğu ile ilgisi olası görünüyor. HTTPS kullanıyorsanız, özellikle: (özel örneğin Cache-Control) dosya arabelleklenemez olarak işaretlenmiş olduğundan emin olmak gerekir. http://stackoverflow.com/questions/1506874/download-file-over-https-in-ie-5-5-iis-5-0 daha fazla tartışma için bkz.

Öyle düşünmüyorum. Ilişkili uygulamada dosyayı açarak tarayıcısı tarafından sunulan temel bir işlevi olduğunu ve etkilemiş olamaz.

Bir ek Kullanıcı Deneyimi sorun burada olduğundan bu üzücü. Ben internetten bir dosya açın ve Excel bana düzenlemek sağlar. Ben kaydetmek Yani, ben güvenle değişiklikleri geri Internet gidin varsayabiliriz. Değil mi? Ya da en azından, onlar kayıp değil. Değil mi? Değil mi? Işlerini kaybetmiş olduğunu iki saat boyunca böyle bir belge üzerinde çalışmış bir teknik olmayan kullanıcı açıklayan deneyin.

Ama ben sapmak. Sen indir başlıklarıyla biraz daha uğraşmak isteyebilirsiniz. Ben zor Excel dosyaları indirdikten sonra direkt açılamaz hayal bulabilirsiniz.

Bir Content-type: application/ms-excel göndermeyi deneyebilir miyim? Ya da otomatik olarak açık değil, kurtarmak için sunacak?

Ayrıca, dosya adı özel karakterler / inceltmeleri içeriyor? Bölü? Gipsy King tarafından belirtildiği gibi alanlarda? Açarken tüm bu sorunlara yol açabilir.