PHP - Salt Okunur elektronik tablo filetype?

2 Cevap php

Ben bir tablo gibi bir tablo çıktılar basit bir web-tabanlı bir PHP uygulama kullanıyorum

header("Content-Disposition: attachment; filename=" . $filename . ".xls");
header("Content-Type: application/vnd.ms-excel");

//inserts tab delimited text

Ama indirilen elektronik tabloyu buluyorum salt okunur bir dosya olarak açılır ve yerel olarak kaydedilmesi gerekir ve (Windows Excel'de) tipi (HTML) XLS değişti. Basit bir Kaydet yapıyor filetype düzeltme gerektirmez, böylece doğru filetype niteliğini ayarlamak için bir yolu var mı?

Dosya güvenliğini doğası gereği salt okunur indirilen veya bu normal değil mi?

Ayrıca ben (Linux), Excel veya OpenOffice elektronik tablosunu açarken oluşturulan otomatik sınırları sevmiyorum. Ben hiçbir sınır biçimlendirme olmasını tercih ederim. Hiçbir ilave biçimlendirme belirtmek için dosyasında bir yolu var mı ya da bu bu uygulamalar içine inşa edilmiştir?

2 Cevap

AFAIK, en azından Windows, bu kullanıcı onlar linki takip sırasında tarayıcı tarafından gösterilen istemi ile ne bağlıdır.

Kullanıcı dosyayı kaydetmek için seçerse, bu salt okunur olmayacaktır. Kullanıcı açmak için seçerse, dosya geçici bir dizine kaydedilir ve kapalı olduğunda tarayıcı kaldırabilirsiniz. Ben bu mekanizma nasıl çalıştığını emin değilim, ama ben bir kilit salt okunur dosya yapar bazı yerde yer var varsayarak yaşıyorum.

Yerel kaydetmek istiyorsanız, özniteliği ayarlamak olabilir content-description:

header('Content-Description: File Transfer');   
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=" . $filename . ".xls");    

EDIT

If you print the tab delimited text and attribute content-dispositionlike xls or csv, Excel application (or other program, like gnumeric or openoffice) recognizes it like xls or csv.