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ı.