PHP - Intranet Siteden indirmek için Excel dosyalarının listesi?

2 Cevap php

Ben sadece Excel dosyaları içeren bir klasör listelemek gerekiyor PHP 5 çalıştıran bir intranet sitesi var.

İdeal kullanıcı girişi için bazı arama kriterleri (yani tarih) ve dosyaları köprülerin bir liste halinde süzülür olacağını mümkün olmalıdır. Bu köprüler daha sonra excel dosyasını indirmek için seçilmiş olabilir.

Ne kadar var ise:

//get search parameters (from a form)
$s_Date = $_GET['s_Date'];
$s_Shift = $_GET['s_Shift'];
$s_Name = $_GET['s_Name'];

//search folder
foreach(glob("c:\folderA\folderB\*".$s_Date."*".$s_Shift."*".$s_Name."*.*") as     $FileName)
{
    echo basename($FileName);
    echo"<a href=?myad=".basename($FileName)."/>Download</a>"."<br />";
}

Bu dosyaların listesini verir ama köprüler seçmek indirmek için sormaz.

Nasıl MSExcel bir içerik türünü zorlamak için köprü alabilirim?

2 Cevap

Eğer dosya conent sunmak için bir PHP komut dosyası kullanarak varsayarak, komut Content-Type başlığı ayarlamak gerekiyor:

<?
    header('Content-Type: application/excel');
    header('Content-Disposition: attachment;filename=myfile.xls');
    // send file content
?>

Ayrıca Content-Disposition başlık kullanarak dosya için kullanmak adını ayarlayabilirsiniz.

Ayrıca indirme komut işaret daha iyi biçimlenmiş <a> etiketi düşünebilirsiniz:

echo '<a href="dl.php?myad=' .urlencode(basename($FileName)). '">Download</a><br />';

Bu örnekte, gerçek komut ile dl.php değiştirmeniz gerekir.

Ayrıca Content-Length üstbilgisi ekler:

header('Content-Length : ' . filesize('myfile.xls'));

Müşteri ne kadar büyük bir dosya olduğunu ve ne kadarını zaten indirilmiş bilmek istiyorum.