2008-10-11 26 views
9

bir dosyayı indirmeyi tamamladığında nasıl algılanır Dosya yüklemeleri için gereksinimleri işleyen bir php sayfası var. Bir dosyanın başarıyla indirildiğini algılayabilmem gerekir. Bu nasıl yapılabilir? Belki de, bu istemci tarafını algılamanın ve daha sonra sunucuya doğru bir onay göndermenin bazı yolları vardır.Bir kullanıcı ne zaman php

Teşekkürler.

Düzenleme: sap ile , ben sayfa böyle bir şey yaptığını anlamına:

$file = '/var/www/html/file-to-download.xyz'; 
    header('Content-Type: application/octet-stream'); 
    header('Content-Length: ' . filesize($file)); 
    header('Content-Disposition: attachment; filename=' . basename($file)); 
    readfile($file); 

cevap

11

daha iyi (ayrı php komut indir Kulp sadece readfile($file); biraz daha yapmak, ayrıca sağlayabilir Bu question sürümündeki gibi indirme işlemlerini sürdürme olanağı. Daha sonra bu betikte, son satırını okuduğunuzda ve gönderdikten sonra, tüm dosyanın gönderildiğini bilirsiniz. Bu, hepsinin alındığını bilmekle aynı şey değildir, ancak çoğu senaryo için yeterli olmalıdır.

4

Treb ne dedi, ancak istemcinin hala connection_status() ile karşıdan yükleme sırasında dinleyip dinlemediğini kontrol edebildiğinizi eklemeliyim.

İstemciye veri yazdıktan sonra flush()'u unutmayın, bağlantının hala devam edip etmediğini saptamaya yardımcı olur.

İlgili konular